2. 상속
1. 특성의 중복 - 첫 번째에 이어서 진행
1. 상속, Inheritance

위의 동물 분류도를 아래와 같이 정리할 수 있음
클래스 분류도
"고래는 포유류다."(`Whale is a Mammal`)
"박쥐는 포유류다."(`Bat is a Mammal`)
"참새는 조류다."(`Robin is a Birds`)
"펭귄은 조류다."(`Penguin is a Birds`)
"고래는 동물이다."(`Whale is an Animal`) // 포유류 개념을 skip하여도 말이 됨
"박쥐도 동물이다."(`Bat is a Animal`)
...
→ 모든 동물은 "나이(age)"를 가지고 있다.2. 상속을 활용한 특성의 중복 제거
이러한 개념을 바탕으로 각각의 구체적인 동물들인 고래, 박쥐, 참새 클래스가 가진 나이(age) 라는 특성(field)을 각각의 클래스에 개별적으로 중복해서 작성하지 않고 공통으로 적용하기 위해서는
상속의 개념을 활용하여 보다 추상적인 동물 클래스인 Animal 클래스가 가진 특성(field)을 각각의 동물 클래스들(Whale, Robin, Penguin 등)에서 상속(inheritance)받도록 할 수 있음
Animal 클래스
class Animal {
int age; // 모든 동물은 나이를 가지고 있음
}Whale 클래스 → class Whale 뒤에 extends Animal 코드 추가
class Whale extends Animal {
// int age;를 별도로 작성하지 않아도 필드로 사용할 수 있음
}Main 클래스
public static void main(String[] args) {
Whale mobydick = new Whale();
mobydick.age = 5; // age 필드에 접근 가능
System.out.println(mobydick.age); // 5
}이처럼 상위 클래스의 특성(field)을 물려받았다고 해서 상속(Inheritance)이라고 표현
Last updated on