본문 바로가기

개발/JAVA

자바에서 구현과 상속을 동시에 사용하는 경우(implements, extends)

반응형

자바에서 구현과 상속을 동시에 사용하는 경우_썸네일

자바를 공부하다가 한 클래스에 대해서 extends와 implements를 동시에 사용가능한지에 대한 궁금증이 생겼다.

그래서 정리 해보는 내용!

 

결론부터 말하자면 둘 다 동시에 사용이 가능하다.

아래의 예시 소스 코드를 보자.

 

//인터페이스
public interface TireInterface {
}

//상속받을 부모 클래스
public class TireClass {
}

//한 클래스 내에서 인터페이스 구현, 클래스 상속을 동시에 사용
public class Tire extends TireClass implements Tire {
}

위의 내용과 같이 일반 클래스에서 인터페이스 구현과 클래스 상속을 동시에 할 수 있다.

표기할 때는 "extends 상속받을 클래스 implements 인터페이스" 방식으로 표기한다.

실제 실행될 때는 먼저 상속을 받은 다음 구현하는 순서이다.

 

< 추가적인 주의사항과 기억해두면 좋은 것들 >

1. extends 다음에는 인터페이스는 올 수 없고 클래스만 가능

2. 부모클래스는 일반 클래스, 추상 클래스 모두 가능

3. 추상 메소드를 상속받을 때는 메소드 오버라이딩이 필수지만 일반 메소드는 재정의가 필수가 아님

4. 클래스 간에는 단일 상속만 허용

5. 인터페이스는 다중 상속 허용

6. implements로 구현하는 경우 다중구현 가능

 

반응형