Java

[Java] 상속

gorusair 2022. 1. 19. 21:26

상속

상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해서 클래스를 작성하면 보다 적은양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 떄문에 코드의 추가 및 변경이 매우 용이하다. 이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다.

 

class child extends Parent {
	// ...
    }
조상 클래스 부모 클래스, 상위 클래스, 기반 클래스
자손 클래스 자식 클래스, 하위 클래스, 파생된 클래스
class Parent{ }
class Child extends Parent{ }

- 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다.

- 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.

 

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 CaptionTvTest {
	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