2020. 10. 16. 00:11

기본형 변수로 할당된 값은 스택에 있음


다른 함수에 인자로 전달하는 경우에는 해당 값이 복사되어 전달


참조형 변수로 할당된 객체는 참조 주소가 스택에 있고 객체는 힙에 있음


참조형 객체는 함수에 전달할 때는 참조된 주소가 복사되어 전달됨


JVM에서 실행되는 자바나 코틀린은 함수를 호출할 때
인자의 값만 복사하는 '값에 의한 호출'(Call by Value)이 일반적


C++에서 사용하는 포인터 주소 연산이 없기 때문에 주소 자체를 사용해 호출하는
'참조에 의한 호출(Call by Reference)'은 자바나 코틀린에서 사용되지 않음


자바는 객체가 전달될 때 주소 자체를 전달하는 것이 아닌 값을 복사하는데 이것은 참조에 의한 호출처럼 보이지만 그 값이 주소일 뿐


코틀린은 람다식을 사용하면서 몇 가지 확장된 호출 방법을 사용할 수 있음