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