참조란 무엇인가

참조란 무엇인가

이 페이지에서는 PHP 참조(reference)가 정확히 무엇인지 설명해요. C 언어의 포인터와는 달리, PHP의 참조는 같은 변수 내용에 여러 이름으로 접근하는 수단이라는 점이 핵심입니다.

출처: What References Are

본문

PHP에서 참조는 같은 변수 내용을 서로 다른 이름으로 접근하는 수단이에요. 이는 C 언어의 포인터와는 달라요. 예를 들어 참조로 포인터 연산(pointer arithmetic)을 할 수 없고, 실제 메모리 주소도 아니죠. 자세한 내용은 참조가 아닌 것을 참고하세요. 대신 참조는 심볼 테이블의 별칭(alias)이라 할 수 있어요.

PHP에서는 변수 이름과 변수 내용이 서로 다르다는 점을 기억하세요. 그래서 같은 내용이 서로 다른 이름을 가질 수 있습니다. 가장 비슷한 비유는 유닉스의 파일 이름과 파일이에요. 변수 이름은 디렉터리 항목이고, 변수 내용은 파일 그 자체라고 볼 수 있죠. 참조는 유닉스 파일 시스템의 하드링크(hardlink)에 비유할 수 있습니다.

더 알아보기