[JAVA Questions] 다형성 복습
자바 다형성 복습
[JAVA Questions] 다형성 복습
1. 다형성이란 무엇인가 ?
하나의 객체가 여러 타입으로 참조될 수 있는 능력
2. 다형적 참조란 ?
부모 타입 변수로 자식 인스턴스를 참조하는 것
3. 업캐스팅은 왜 안전하고, 다운캐스팅은 왜 위험한지
업캐스팅은 자식 객체가 부모 기능을 모두 포함하기 때문에 항상 안전 다운캐스팅은 부모 객체는 자식 기능을 포함하지 않을 수 있어 위험
4. 다형성과 메서드 오버라이딩은 어떤 관계 ?
다형성으로 부모 타입으로 자식을 참조할 떄, 오버라이딩 된 자식 메서드가 실행되기 때문에 다형성이 완성된다.
5. 부모 타입으로 자식을 참조할 때, 변수와 메서드는 각각 어떤 기준으로 결정 ?
1
2
3
Parent p = new Child();
System.out.println(p.value); // Parent의 value 사용
p.method(); // Child의 method() 실행
- 변수: 참조 타입을 기준으로 결정 (부모 타입은 부모의 변수만 볼 수 있음)
- 메서드: 실제 인스턴스 타입을 기준으로 실행
다형성 = 부모 타입으로 자식을 다루면서, 오버라이딩된 메서드를 실행하는 것.
This post is licensed under
CC BY 4.0
by the author.