Backend
java - inheritance
sjh9391985
2023. 2. 15. 20:31
728x90
IS-A 관계
- 자식 클래스의 객체는 부모 클래스의 자료형인 것처럼 사용할 수 있음
- Animal dog = new Dog(); // Dog is a Animal
상속 메서드 우선순위
class Animal {
String name;
void setName(String name) {
this.name = name;
}
}
class Dog extends Animal {
void sleep() {
System.out.println(this.name + " zzz");
}
}
class HouseDog extends Dog {
void sleep() {
System.out.println(this.name + " zzz in house");
}
}
public class Sample {
public static void main(String[] args) {
HouseDog houseDog = new HouseDog();
houseDog.setName("happy");
houseDog.sleep(); // happy zzz in house 출력
}
}
// Dog 클래스와 동일한 형태(입출력이 동일)의 sleep 메서드를 구현하면 HouseDog 클래스의 sleep 메서드가 Dog 클래스의 sleep 메서드보다 더 높은 우선순위를 갖게 되어 HouseDog 클래스의 sleep 메서드가 호출
728x90