Instance1 19. Objective-C 다형성(polymorphism) [다형성, 오버라이딩, 업캐스팅, 다운캐스팅] 다형성은 말 그대로 형태가 다양하다는 것이다. 프로그래밍에서 다형성은 주로 클래스간의 상속관계가 있을 때 나타난다. 메서드 오버라이딩(Method overriding)같은 이름의 메서드라도 어떤 타입으로 참조하고 있는지에 따라 내부 동작이 달라진다.좀 더 정확히는 서브클래스에서 슈퍼클래스의 메서드를 재정의 하는 것을 말한다.즉 어떤 객체를 부모타입으로 참조하느냐? 본인 타입으로 참조하느냐에 따라 호출되는 메서드가 다른 것이다. 메서드 디스패치 테이블(Method Dispatch Table)옵젝씨에서 메서드는 메서드 디스패치 테이블을 통해 관리된다.(내부적으로는 클래스의 메타 데이터 등이 저장되는 구조체로 되어 있다.)메서드는 런타임에 메서드 호출을 처리하는 .. 2024. 5. 22. 이전 1 다음