버튼 클래스들의 상속 관계 (지난 강 Ex02)

⭐️ 부모/자식 관계는 범주의 포함 관계로 이어짐

📁 ex01 (지난 강의 Ex02 에서 복사)

☕ Main.java

				//  💡 가능 - 자식 클래스는 부모 클래스에 속함
        Button button1 = new Button("Enter");
        Button button2 = new ShutDownButton();
        Button button3 = new ToggleButton("CapsLock", true);

        //  ⚠️ 불가
        ShutDownButton button4 = new Button("Enter");
        ToggleButton button5 = new ShutDownButton();
				//  ⭐️ 편의 : 모두 Button이란 범주로 묶어 배열 등에서 사용 가능
        Button[] buttons = {
                new Button("Space"),
                new ToggleButton("NumLock", false),
                new ShutDownButton()
        };

        for (Button button : buttons) {
						//  ⭐️ 모든 Button들은 func 메소드를 가지므로
            button.func();
				}

지난 강의 ex03 예제로 돌아가서…

☕ Main.java

				Slime slime = new Slime();
        FireSlime fireSlime = new FireSlime();

        slime.attack(fireSlime); // ⭐ 클래스가 다른데 가능한 이유 : 다음 강에서
        fireSlime.attack(slime);