[3단원]상속의 강력함

객체와 클래스의 구분법

조류 bird = new 조류();

의 경우를 생각해보자.

  • 조류 의 나이는 → 질문에 답하기 어려움 ⇒ 조류 는 클래스에 가까움
  • bird 의 나이는 → 질문에 답하기 어려움 ⇒ bird 는 클래스에 가깝다.

상속의 첫 예제

public class Driver {
    public static void main(String[] args) {
        동물 animal = new 동물();
        포유류 mammalia = new 포유류();
        조류 bird = new 조류();
        고래 whale = new 고래();
        박쥐 bat = new 박쥐();
        참새 sparrow = new 참새();
        펭귄 penguin = new 펭귄();
        
        animal.showMe();
        mammalia.showMe();
        bird.showMe();
        whale.showMe();
        bat.showMe();
        sparrow.showMe();
        penguin.showMe();
    }
}
동물
포유류
조류
고래
박쥐
참새
펭귄
  • 하위 클래스는 상위 클래스다
  • 하위 분류는 상위 분류다.
  • 라고 명확하게 말할 수 있는 코드이다.
    • 고래는 포유류 또는 동물
    • 포유류 한 마리를 동물

    이라고 명확하게 말할 수 있다!

두 번째 예제

public class Driver3 {
    public static void main(String[] args) {
        동물[] animals = new 동물[7];
        
        animals[0] = new 동물();
        animals[1] = new 포유류();
        animals[2] = new 조류();
        animals[3] = new 고래();
        animals[4] = new 박쥐();
        animals[5] = new 참새();
        animals[6] = new 펭귄();
        
        for (int i = 0; i < animals.length; i++) {
            animals[i].showMe();
        }
    }
}
  • 반복문 하나에 모든 동물들이 자신을 표현가능함


Uploaded by N2T