안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
아래와 같이 기술합니다.
Naver 클래스를 상속하는 Blog 클래스를 설계하고 싶다면
class Blog extends Naver {
}
처럼 작성하면 됩니다.
다른 언어와 달리 자바는 다중상속을 허용하지 않습니다.
자식 클래스가 여러개의 부모 클래스를 가질 수 없습니다.
extends 뒤에는 단 하나의 클래스만 와야합니다.
클래스 상속 예제)
부모 클래스
public class CellPhone {
//필드
String model;
String color;
//생성자
//메소드
void powerOn() { System.out.println("전원을 켭니다."); }
void powerOff() { System.out.println("전원을 끕니다."); }
void bell() { System.out.println("벨이 울립니다."); }
void sendVoice(String message) { System.out.println("자기: " + message); }
void receiveVoice(String message) { System.out.println("상대방: " + message); }
void hangUp() { System.out.println("전화를 끊습니다."); }
}
자식 클래스
public class DmbCellPhone extends CellPhone {
//필드
int channel;
//생성자
DmbCellPhone(String model, String color, int channel) {
this.model = model;// model과 color은 부모로부터 상속받은 필드입니다.
this.color = color;
this.channel = channel;
}
//메소드
void turnOnDmb() {
System.out.println("채널 " + channel + "번 DMB 방송 수신을 시작합니다.");
}
void changeChannelDmb(int channel) {
this.channel = channel;
System.out.println("채널 " + channel + "번으로 바꿉니다.");
}
void turnOffDmb() {
System.out.println("DMB 방송 수신을 멈춥니다.");
}
}
자식 클래스 사용
public class DmbCellPhoneExample {
public static void main(String[] args) {
//DmbCellPhone 객체 생성
DmbCellPhone dmbCellPhone = new DmbCellPhone("자바폰", "검정", 10);
//CellPhone으로부터 상속 받은 필드
System.out.println("모델: " + dmbCellPhone.model);
System.out.println("색상: " + dmbCellPhone.color);
//DmbCellPhone의 필드
System.out.println("채널: " + dmbCellPhone.channel);
//CellPhone으로부터 상속 받은 메소드 호출
dmbCellPhone.powerOn();
dmbCellPhone.bell();
dmbCellPhone.sendVoice("여보세요");
dmbCellPhone.receiveVoice("안녕하세요! 저는 홍길동인데요");
dmbCellPhone.sendVoice("아~ 예 반갑습니다.");
dmbCellPhone.hangUp();
//DmbCellPhone의 메소드 호출
dmbCellPhone.turnOnDmb();
dmbCellPhone.changeChannelDmb(12);
dmbCellPhone.turnOffDmb();
}
}
'자바' 카테고리의 다른 글
JAVA 자바 메서드 재정의 - 메서드 재정의(@Override) (0) | 2017.03.12 |
---|---|
JAVA 자바 부모 생성자 호출 (0) | 2017.03.12 |
JAVA 자바 상속의 개념 , 자바 상속 (0) | 2017.03.12 |
JAVA 자바 어노테이션 유지 정책과 런타임 시 어노테이션 정보 활용하기 (0) | 2017.03.12 |
JAVA 자바 어노테이션 타입의 정의와 적용, 어노테이션 적용 대상 (0) | 2017.03.12 |