Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

Goru

[Java] 상속 본문

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

'Java' 카테고리의 다른 글

[Java] 오버라이딩  (0) 2022.01.20
[Java] 클래스간의 관계- 포함관계  (0) 2022.01.19
[Java] 변수의 초기화  (0) 2022.01.19
생성자  (0) 2022.01.19
[Java] 오버로딩  (0) 2022.01.18