자바에서 extends와 implements는 각각 클래스와 인터페이스를 상속하거나 구현하는 데 사용되는 키워드입니다. 이 두 키워드 간의 주요 차이점은 다음과 같습니다:
implements
자바는 다중상속을 지원하지 않기 때문에 implements(인터페이스)가 등장했다.
implements는 클래스가 인터페이스를 구현할 때 사용된다.
implements의 가장 큰 특징은 부모의 메소드를 반드시 오버라이딩(재정의)해야 한다는 점이다.
public class MyClass implements MyInterface {
// 클래스 내용
@Override
public void method() {
// 메소드 구현
}
}
한 클래스가 여러 인터페이스를 구현할 수 있어서 쉼표로 구분하여 나열할 수 있다.
public class MyClass implements MyInterface, InterfaceA, InterfaceB {
// 클래스 내용
}
extends
사실 extends가 상속의 대표적인 형태이며 부모의 메소드를 그대로 사용할 수 있고 오버라이딩 할 필요 없이 부모에 구현되있는 것을 직접 사용이 가능하다.
자바는 다중상속을 지원하지 않기 때문에 public class Son extends Father, Mother{...} 이 지원되지 않는다.
즉
extends는 클래스를 확장하는 거고 implements는 인터페이스를 구현하는 것이다.
인터페이스와 보통 클래스의 차이는 인터페이스는 정의한 메소드를 구현하지 않아도 된다.
인터페이스를 상속받는 클래스에서 인터페이스에 정의된 메소드를 구현하면 된다.
'공부중 > 혼자공부하는자바' 카테고리의 다른 글
GET/SET 메서드 (0) | 2024.03.15 |
---|---|
프로그래머스 풀다가 만난 array.sort (0) | 2024.02.21 |
리스트에서 배열로 전환 (0) | 2024.02.20 |
코딩테스트 (0) | 2024.02.14 |
자바 동작원리 (0) | 2024.02.02 |
댓글