본문 바로가기

Programming Language/Java

추상클래스와 인터페이스 정리

 

오늘은 추상클래스와 인터페이스에 대해서 정리해보려한다.

 

 

1. 추상 클래스 (abstract class)

하나 이상의 추상 메소드를 포함하는 클래스

추상 메소드뿐만 아니라 생성자, 필드, 일반 메소드도 포함할 수 있다.

 

추상 메소드(abstract method)

 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드 

 

더보기

- 오버라이딩 (Overriding)

 

상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니쳐를 갖는 메소드로  재정의하는 것

 

오버라이딩은 부모 클래스의 메소드를 재정의하는 것이므로, 자식 클래스에서는 오버라이딩하고자 하는 메소드의 이름, 매개변수, 리턴 값이 모두 같아야 함

 

@Override 

Override 어노테이션은 오버라이딩을 검증하는 기능을 함.

 

 

2. 인터페이스

다중상속이 가능하며  추상 메소드의 모음

추상 메소드와 상수만 가능

 

인터페이스에 명시된 추상메소드들을 모두 구현해야한다.

 

 

구현체 네이밍은 xxxImpl 과 같이 클래스 이름

구현체란 인터페이스를 구현한 클래스라는 뜻이며, 구현 클래스 혹은 실체 클래스 라고도 부름

 

 

 

3. 차이점?

 

추상클래스 =  ~의 한 종류 , IS - A 

                       생성자, 필드, 일반 메소드도 포함 가능

인터페이스 =  ~을 할 수 있는,  be able to  ,  HAS - A 

                          생성자, 필드, 일반 메소드 포함 불가능

'Programming Language > Java' 카테고리의 다른 글

Spring framework란?  (0) 2021.08.30