Backend/Java

[Java] 상속

서교동김계란 2024. 5. 9. 18:36
728x90

🎯 상속

 

1. 상속의 정의와 장점

상속이란, 기존 클래스를 재사용하여 새로운 클래스를 작성하는 것이다.

  • 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스 생성 가능
  • 코드의 재사용성 높임
  • 코드의 중복 제거로 프로그램의 생산성과 유지보수에 크게 기여

상속을 구현하는 방법은 아주 간단하다. 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의

이름을 키워드 'extends'와 함께 써 주기만 하면 된다.

class Child extends Parent{
	/// ...
    }

Parent를 상속받은 Child클래스이다.

보통 상속해주는 클래스를 부모클래스, 상속받는 클래스를 자식클래스 라고 한다. 


 

부모와 자식의 다이어그램

 

1.2 상속 예제

class Tv {
    boolean power;      // 전원상태(on/off)
    int channel;        // 채널

    void power()        {  power = !power; }
    void channelUp()    {   ++channel;     }
    void channelDown()  {   --channel;     }
}

class CaptionTv extends Tv{
    boolean caption;        // 캡션상태(on/off)

    void displayCaption(String text) {
        if (caption) {      // 캡션 상태가 on(true( 일 때만 text를 보여준다.
            System.out.println(text);
        }
    }
}

public class Test {
    public static void main(String[] args) {
        CaptionTv ctv = new CaptionTv();
        ctv.channel = 10;            // 조상 클래스로부터 상속받은 멤버
        ctv.channelUp();             // 조상 클래스로부터 상속받은 멤버
        System.out.println(ctv.channel);
        ctv.displayCaption("Hello World");
        ctv.caption = true;     // 캡션(자막)기능을 켠다.
        ctv.displayCaption("Hello World");
    }
}
출력: 11
      Hello World

 

자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래스의 멤버가 합쳐진 하나의 인스턴스로 생성된다.