반응형
✅ 오전 수업
1. 다형성 with 상속 (Vehicle, Driver)
- 부모 타입(Vehicle)으로 자식 객체(Bus, Texi)를 다룰 수 있음
- 오버라이딩된 메서드가 실행됨
driver.drive(new Bus()); // "버스가 달립니다."
driver.drive(new Texi()); // "택시가 달립니다."
2. 추상 클래스 (Phone, Animal)
- abstract 클래스는 객체 생성 불가, 추상 메서드는 구현 필수
- 일반 메서드도 가질 수 있음
abstract class Animal {
void breathe() { ... }
abstract void sound();
}
- 다형성 활용:
Animal animal = new Dog();
animal.sound(); // "멍멍"
3. 인터페이스 기본 (RemoteControl)
- interface는 메서드 선언만 포함
- 구현 클래스에서 오버라이딩 필수
interface RemoteControl {
void turnOn();
}
- 다형성 적용:
RemoteControl rc = new Television();
rc.turnOn(); // "TV를 켭니다."
4. 인터페이스 상수 & 다중 메서드 구현
- 상수는 모두 public static final
- 구현 클래스에서 setVolume() 내 볼륨 제한 처리
if(volume > MAX_VOLUME) this.volume = MAX_VOLUME;
✅ 오후 수업
5. default 메서드 (setMute)
- 인터페이스에서 구현된 기본 메서드
- 구현 클래스에서 선택적으로 오버라이딩 가능
default void setMute(boolean mute) {
if (mute) {
setVolume(MIN_VOLUME);
} else {
...
}
}
- 오버라이딩 예:
@Override
public void setMute(boolean mute) {
...
}
6. static 메서드
- 인터페이스 이름으로 직접 호출
RemoteControl.changeBattery(); // 정적 메서드
7. private 메서드 (Java 9+)
- default 또는 static 메서드 내부의 중복 코드 정리용
private void defaultCommon() { ... }
private static void staticCommon() { ... }
- 사용 예:
defaultMethod1() {
...
defaultCommon();
}
📌 17일차 핵심 요약표
개념 | 설명 |
다형성 | 부모 타입으로 자식 객체 처리 가능 |
추상 클래스 | 추상 메서드는 구현 필수, 일반 메서드도 포함 가능 |
인터페이스 | 구현체에서 메서드 오버라이딩 필수 |
default 메서드 | 구현 클래스에서 오버라이딩 가능 |
static 메서드 | 인터페이스명으로 직접 호출 |
private 메서드 | 중복 코드 정리용 (Java 9+) |
'국비' 카테고리의 다른 글
[ 18일차 73~78 ] 수업 정리 - 자바 (0) | 2025.05.09 |
---|---|
[ 16일차 59~64 ] 수업 정리 - 자바 (1) | 2025.05.07 |
[ 15일차 55~58 ] 수업 정리 - 자바 (1) | 2025.05.02 |
[ 13, 14일차 ] 패스 - 자습과 복습 (0) | 2025.05.01 |
[ 12일차 50~54 ] 수업 정리 - 자바 (0) | 2025.04.29 |
[ 11일차 44~49 ] 수업 정리 - 자바 (1) | 2025.04.28 |