호빵의 IT 개발소

포인터(Pointer)와 참조자(Reference)의 차이점은? 본문

CS(전공지식)/기술면접 준비

포인터(Pointer)와 참조자(Reference)의 차이점은?

호빵Stack 2025. 3. 28. 22:31
포인터(Pointer) vs 참조자(Reference) 차이점 요약
  • 기본 개념
    • 포인터: 변수의 메모리 주소를 저장하는 변수
    • 참조자: 변수의 별칭(다른 이름), 주소를 직접 다루지 않음
  • NULL 가능 여부
    • 포인터: NULL 가능
    • 참조자: NULL 불가, 선언 시 반드시 초기화 필요
  • 연산
    • 포인터: , &, 산술 연산 가능
    • 참조자: 간접 접근 연산 필요 없음 (사용 시 일반 변수처럼 사용)
  • 수정 가능성
    • 포인터: 다른 주소를 가리킬 수 있음
    • 참조자: 한 번 바인딩되면 변경 불가

 

 

면접 스타일 답변 예시:

포인터는 변수의 주소를 저장하는 변수로 메모리를 직접 다룰 수 있고 NULL 값을 가질 수 있습니다.
반면 참조자는 기존 변수의 또 다른 이름으로 선언과 동시에 초기화되어야 하며 이후 다른 대상을 참조할 수 없습니다.
포인터는 메모리 주소를 조작할 수 있어 유연하지만 그만큼 위험 요소도 크고 참조자는 상대적으로 안전하고 직관적인 방식으로 사용됩니다.
따라서 복잡한 메모리 연산이 필요한 경우에는 포인터를 일반적인 값 전달이나 함수 인자 전달 등에서는 참조자를 사용하는 것이 적절합니다.
Comments