-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
ch13서브클래싱과 서브타이핑서브클래싱과 서브타이핑
Description
💡 이슈
- 오브젝트 책을 읽으면서 책 내용 외에도 다같이 고려해보면 좋을 거 같다고 생각해 문제를 준비했습니다. 🎉
미리 풀기 금지 🚫
❓ 이유
다음 중 서브클래싱과 서브타이핑을 구분하시오. 🚀
1. 문제
class User {
public boolean isActive() { return true; }
}
class SuspendedUser extends User {
@Override
public boolean isActive() {
return false;
}
}2. 문제
class Timer {
private long start;
public void start() {
this.start = System.currentTimeMillis();
}
public long elapsed() {
return System.currentTimeMillis() - start;
}
}
class LoggingTimer extends Timer {
@Override
public void start() {
System.out.println("Timer started.");
super.start();
}
}3. 문제
class PaymentProcessor {
public void process() {
try {
Thread.sleep(1000);
} catch (InterruptedException ignored) {
...
}
}
}
class FastPaymentProcessor extends PaymentProcessor {
@Override
public void process() {
System.out.println("Fast payment");
}
}4. 문제
class Temperature {
private final double celsius;
public Temperature(double celsius) {
this.celsius = celsius;
}
public double getCelsius() { return celsius; }
}
class FahrenheitTemperature extends Temperature {
public FahrenheitTemperature(double fahrenheit) {
super((fahrenheit - 32) * 5 / 9);
}
public double getFahrenheit() {
return getCelsius() * 9 / 5 + 32;
}
}📖 관련 페이지
- 전체 페이지
☺️
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
ch13서브클래싱과 서브타이핑서브클래싱과 서브타이핑