Java로 배우는 객체 지향 프로그래밍 입문
Sani Yusuf
Lead Software Engineering Content Developer
// Car 클래스
class Car {
// 배터리 용량은 전기차에만 해당
public int batteryCapacity;
void drive() {
}
}
// Toyota 클래스 class Toyota extends Car { void drive(){ } }// Main 클래스 public static class Main { public static void main(String[] args) { Toyota myToyota = new Toyota(); // 전기차가 아니어도 모든 차가 // "batteryCapacity"를 상속받음 System.out.println( myToyota.batteryCapacity); // 해당 없음 } }
implements 키워드로 인터페이스를 사용함
// ElectricCar 인터페이스
interface ElectricCar {
}
// ElectricCar 인터페이스를
// 구현하는 Tesla
class Tesla implements ElectricCar {
}
UPPER_SNAKE_CASE 사용public static final
interface ElectricCar {
// 묵시적으로 public static final
// 변경 불가
int BATTERY_CAPACITY = 310;
}
abstractabstract 메서드는 하위 클래스에서 구현해야 함interface ElectricCar { // 묵시적으로 public static final // 변경 불가 int BATTERY_CAPACITY = 310;// 기본적으로 추상 메서드 void charge();// 구체 메서드 void autoPark() { }}class Tesla implements ElectricCar { // 반드시 구현 public void charge() { } }
Java로 배우는 객체 지향 프로그래밍 입문