본문 바로가기
공부중/혼자공부하는자바

implement와 extends 차이

by 식빵ee 2024. 4. 4.

자바에서 extendsimplements는 각각 클래스와 인터페이스를 상속하거나 구현하는 데 사용되는 키워드입니다. 이 두 키워드 간의 주요 차이점은 다음과 같습니다:

 

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

댓글


post image post image post image post image post image post image post image post image