1) 상속
- 부모가 자식에게 물려주는 행위를 말한다.
- 객체 지향 프로그램에서도 부모 클래스의 필드와 메소드를 자식 클래스에게 물려줄 수 있다.
1-1. 클래스 상속
- 자식이 부모를 선택한다.
- 자식 클래스를 선언할 때 어떤 부모로부터 상속받을 것인지를 결정하고, 부모 클래스를 다음과 같이 extends 뒤에 기술한다.
- 다중상속은 허용하지 않는다. extends 뒤에는 단 하나의 부모 클래스만이 와야 한다.
public class 자식클래스 extends 부모클래스{}
1-2. 부모 생성자 호출
* super() : 컴파일 과정에서 자동 추가되는데, 이것은 부모의 기본 생성자를 호출한다. 부모 클래스에 기본 생성자가 없다면 자식 생성자 선언에서 컴파일 에러가 발생한다.
Phone.java
package kr.or.ksmart.eduJava.inherit;
public class Phone {
//필드 선언
public String model;
public String color;
//메소드 선언
public void bell() {
System.out.println("벨이 울립니다.");
}
public void sendVoice(String message) {
System.out.println("자기 : " + message);
}
public void receiveVoice(String message) {
System.out.println("상대방 : " + message);
}
public void hangUp() {
System.out.println("전화를 끊습니다.");
}
}
SmartPhone.java
package kr.or.ksmart.eduJava.inherit;
public class SmartPhone extends Phone {
//필드 선언
public boolean wifi;
//생성자 선언
public SmartPhone(String model, String color) {
super(); //생략가능(컴파일 시 자동 추가됨)
this.model = model;
this.color = color;
}
//메소드 선언
public void setWifi(boolean wifi) {
this.wifi = wifi;
System.out.println("와이파이 상태를 변경했습니다.");
}
public void internet() {
System.out.println("인터넷에 연결합니다.");
}
}
Main.java
//SmartPhone 객체 생성
SmartPhone myPhone = new SmartPhone("갤럭시", "은색");
//Phone으로부터 상속받은 필드 읽기
System.out.println("모델 : " + myPhone.model);
System.out.println("색상 : " + myPhone.color);
System.out.println("와이파이 상태 : " + myPhone.wifi);
myPhone.bell();
myPhone.sendVoice("여보세요");
myPhone.receiveVoice("안녕하세요! 저는 홍길동인데요.");
myPhone.sendVoice("아~ 네, 반갑습니다.");
myPhone.hangUp();
//SmartPhone의 메소드 호출
myPhone.setWifi(true);
myPhone.internet();

'JAVA, JSP' 카테고리의 다른 글
| java, jsp - 상품목록, 상품상세페이지 구현 (0) | 2024.08.09 |
|---|---|
| java, jsp - 로그인, 로그아웃 구현 (0) | 2024.08.09 |
| java - 클래스(리턴데이터타입, 오버로딩, 정적, final, gatter, setter), import문 자동 추가 단축키 (0) | 2024.08.08 |
| java 6장- 객체지향프로그래밍 (0) | 2024.08.01 |
| java 5장 - 참조타입, 배열, 다차원배열, 열거 (0) | 2024.07.31 |