[java] 상속과 인터페이스의 차이점
자바에서 상속과 인터페이스는 객체지향 프로그래밍에서 중요한 개념입니다. 두 가지 기능은 각각의 고유한 기능과 장단점을 가지고 있습니다.
상속 (Inheritance)
상속은 클래스 간의 계층 구조를 구현하는 데 사용됩니다. 부모 클래스에서 정의된 속성과 메서드를 자식 클래스가 상속받아 사용할 수 있습니다. 이로써 코드의 재사용성이 증가하고, 클래스 간의 관계가 명확해집니다.
class Animal {
void sound() {
System.out.println("Some sound");
}
}
class Dog extends Animal {
void sound() {
System.out.println("Bark");
}
}
인터페이스 (Interface)
인터페이스는 클래스가 따라야 하는 규약을 정의합니다. 클래스가 구현해야 하는 메서드 시그니처를 정의하여, 여러 클래스가 동일한 동작을 보장할 수 있습니다. 여러 개의 인터페이스를 구현할 수 있지만, 클래스는 여러 개의 클래스만 상속할 수 있습니다.
interface Vehicle {
void start();
void stop();
}
class Car implements Vehicle {
public void start() {
// 구현
}
public void stop() {
// 구현
}
}
결론
상속은 클래스 간의 계층 구조를 형성하고 코드 재사용성을 높이는 데 사용되며, 인터페이스는 클래스 간의 동작을 표준화하는 데 사용됩니다.
참고 자료:
- https://www.geeksforgeeks.org/inheritance-in-java/
- https://www.geeksforgeeks.org/interfaces-in-java/