[Java] 메소드 오버라이딩/ 메소드 오버로딩을 통한 상속 다형성에 대한 이해와 Self 참조
아래의 내용은 오브젝트(Object)를 읽으면서 정리한 내용입니다. Java에 한정되는 이야기이므로 다른 언어에는 적용되지 않을 수 있습니다. 1. 상속을 이용한 다형성과 메소드 오버라이딩/ 메소드 오버로딩 [ Self 참조(Self Reference) ] Java에서 객체가 메세지를 수신하면 컴파일러는 self 참조(Self Reference)를 임시로 자동 생성하여 메세지를 수신한 객체를 가리키도록 설정하고 상속 계층의 역방향으로 동적 메소드 탐색을 진행하는데, 이 과정을 순서대로 정리하면 다음과 같다. 컴파일러가 메세지를 수신한 객체를 가리키는 self 참조를 임시로 생성한다. 클래스에서 메세지를 처리할 메소드를 탐색한다. 메세지를 처리할 수 없으면 부모 계층으로 넘어가 메소드 탐색을 진행한다. 3..
Java & Kotlin
2021. 10. 15. 14:23