728x90
1. 상속이란?
기존의 클래스에 extends 키워드를 이용해 재사용하여 새로운 클래스를 만드는 것이다.
재사용을 하며 그대로 사용할수도 있고, 새로운 멤버를 추가할수도 있다.
코드의 재사용성이 높으며 변경 및 추가가 용이하다.
기존의 클래스를 부모클래스, 상속을 받아 생성된 클래스를 자식클래스라고 한다.
자식클래스는 부모클래스의 모든 멤버를 상속받는다!
✔Java에서는 한개의 클래스만을 부모 클래스로 갖는 단일상속만 가능한다.
✔상속관계를 [Is - a ]관계라고 한다.
ex ) 원은 도형이다. 치타는 동물이다.
2. 예제 코드
class Tv{ // 부모 클래스
boolean power;
int channel;
void power() {
power = !power;
}
void channelUp(){
channel++;
}
void channelDown() {
channel--;
}
}
class SmartTv extends Tv{ // Tv라는 부모클래스에서 상속받은 자식클래스 SmartTv //캡션 기능 추가
boolean caption;
void display(String text) {
if(caption) // caption이 true이면
System.out.println(text);
}
}
public class Ex7_1 {
public static void main(String[] args) {
SmartTv stv = new SmartTv();
stv.channel = 10;
stv.channelUp(); // 부모 클래스로부터 상속받은 메서드 // 11이 출력
System.out.println(stv.channel);
stv.caption = true;
stv.display("Hello, world!");
}
}
SmartTv는 Tv라는 부모클래스를 상속받는 자식클래스이다.
SmartTv stv = new SmartTv(); 를 이용해 자식 클래스의 객체를 생성한다.
자식클래스는 부모클래스의 모든 멤버를 상속받으므로
부모클래스인 Tv의 멤버를 이용할수있다.
자식클래스의 객체인 stv는 Tv클래스(부모 클래스) 에 있는
channl 변수와 channelUp, channelDown 메서드를 이용할수있다.
코드의 실행결과
10으로 지정되어있던 채널은 1이 증가하여 11을 출력하였다.
caption이 true가 되어서 display되었다.
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA의 정석]6_객체지향개념_클래스와 인스턴스 (0) | 2022.04.27 |
---|---|
JAVA - 메소드 오버라이딩[overriding]과 오버로딩 (0) | 2021.08.30 |
java - 객체 배열(9) (0) | 2021.08.27 |
Java - 동적배열[ArrayList](8) (0) | 2021.08.27 |
JAVA - 배열의 선언과 생성(7) + String (0) | 2021.08.26 |