카테고리 없음
객체지향 프로그래밍 11. 메서드 재정의(overriding), 가상메서드
코딩펭귄
2023. 12. 13. 01:36
오버라이딩(overriding)
- 상위 클래스에 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메서드를 재정의 할 수 있음
형 변환과 오버라이딩 메서드 호출
Customer vc = new VIPCustomer();
//vc 변수의 타입은 Customer지만 인스턴스의 타입은 VIPCustomer 임
- 자바에서는 항상 인스턴스의 메서드가 호출 됨
- 자바의 모든 메서드는 가상 메서드(virtual method) 임
가상메서드
- 원리 : 가상 메서드 테이블에서 해당 메서드에 대한 address를 가지고 있음 (함수를 호출하면 이름에따른 매핑되는 주소가 호출되는것.)
- 재정의된 경우는 재정의 된 메서드의 주소를 가리킴