CallbyValue,Reference

최장범·2023년 10월 30일

공부

목록 보기
6/24

CallbyValue

  • 콜 바이 벨류
    • 함수가 호출될 때, 매개변수로 전달되는 값의 복사본이 전달됩니다.
    • 원래의 변수는 영향을 받지 않습니다.
    • 함수 내부에서 매개변수의 값을 변경해도, 원래의 변수에는 영향을 미치지 않습니다.
    • 보통 기본 자료형 변수가 이 방식에 따라 전달됩니다.
    • 값 형식에는 정수형(예: int, float, double), 부울형(bool), 문자형(char), 구조체(structures) 등이 있습니다.
    • 값 형식 변수는 스택(stack)에 할당되며, 메모리 공간을 효율적으로 사용하며 빠르게 접근할 수 있습니다.
    • 변수가 선언되면 해당 변수에 초기값을 지정해야 합니다.

CallbyReference

  • 콜 바이 레퍼런스
    • 함수가 호출될 때, 매개변수로 전달되는 것은 변수의 참조(메모리 주소)입니다.
    • 원래의 변수에 영향을 미치며, 함수 내에서 변수의 값이 변경될 경우 원래의 변수도 변경됩니다.
    • 보통 포인터나 참조 타입의 변수가 이 방식에 따라 전달됩니다.
    • 참조 형식에는 클래스(class), 배열(arrays), 인터페이스(interface), 델리게이트(delegate) 등이 있습니다.
    • 참조 형식 변수는 힙(heap)에 할당되며, 가비지 컬렉션에 의해 관리됩니다.
    • 변수를 선언할 때 초기화하지 않아도 되며, 기본적으로 null로 초기화됩니다.

0개의 댓글