반응형
✅ 1. 클래스 상속 기본 (ch07.sec02)
📌 Phone → SmartPhone 클래스 상속
- SmartPhone은 Phone의 모든 필드/메서드를 상속받음
- this.model, this.color 직접 초기화 가능
public class SmartPhone extends Phone {
boolean wifi;
void setWifi(...) {...}
void internet() {...}
}
📌 사용 예
phone.bell(); // 상속받은 메서드
phone.internet(); // SmartPhone 메서드
✅ 2. 부모 생성자 호출 (super) (ch07.sec03.exam01)
- 부모 클래스에 매개변수 생성자만 존재할 경우, 자식 클래스에서 super(...)로 반드시 호출해야 함
public class SmartPhone extends Phone {
public SmartPhone(String model, String color) {
super(model, color); // 부모 생성자 호출
}
}
- 출력 순서:
Phone() 생성자 실행
SmartPhone() 생성자 실행됨
✅ 3. 메서드 오버라이딩 (ch07.sec04.exam01)
📌 부모 메서드를 자식이 재정의
public class Computer extends Calculator {
@Override
public double areaCircle(double r) {
return Math.PI * r * r;
}
}
- 부모 객체로 호출 시 → 부모 메서드 실행
- 자식 객체로 호출 시 → 자식 메서드 실행
✅ 4. super 키워드 활용 & 비행기 예제 (ch07.sec04.exam02)
- Airplane → SupersonicAirplane 클래스 상속
- fly() 메서드를 오버라이딩하여 조건 분기
public void fly() {
if (flyMode == SUPERSONIC)
System.out.println("초음속 비행합니다.");
else
super.fly(); // 부모 메서드 호출
}
📌 실행 결과 예시
이륙합니다.
일반 비행합니다.
초음속 비행합니다.
일반 비행합니다.
착륙합니다.
📌 15일차 핵심 요약
개념 | 설명 |
상속 (extends) | 부모 클래스의 필드와 메서드를 자식이 물려받음 |
super() | 부모 생성자 호출 시 사용 (생성자 첫 줄 필수) |
메서드 오버라이딩 | 부모 메서드를 자식이 재정의 |
super.메서드() | 오버라이딩된 메서드 내부에서 부모의 원본 메서드 호출 |
상속 예제 | 스마트폰, 컴퓨터, 초음속 비행기 등 실습 포함 |
'국비' 카테고리의 다른 글
[ 13, 14일차 ] 패스 - 자습과 복습 (0) | 2025.05.01 |
---|---|
[ 12일차 50~54 ] 수업 정리 - 자바 (0) | 2025.04.29 |
[ 11일차 44~49 ] 수업 정리 - 자바 (1) | 2025.04.28 |
[ 10일차 38~43 ] 수업 정리 - 자바 (2) | 2025.04.25 |
[ 9일차 36~37 ] 수업 정리 - 자바 (0) | 2025.04.24 |
[ 8일차 32~35 ] 수업 정리 - 자바 (0) | 2025.04.23 |