Java/Basic
추상클래스 / 인터페이스
OSC131
2020. 9. 30. 23:15
728x90
반응형
추상클래스란?
Abstract 로 선언되어 추상 메소드를 0개 이상 가지는 클래스
- 단독 사용이 불가능하고, 자식 클래스를 통해 상속하여 사용
- 상속 시 추상 메소드를 오버라이딩을 통해 정의해야함
- 추상 클래스의 기능을 이용하고 확장하는 용도
- 상속 및 확장을 추구
문법 예시
AbsctractClass
abstract class AbstractClass { ... abstract void abstractMethod(); ... } |
SubClass
public class SubClass extends AbstractClass { ... @Override public void abstractMethod(){ ... } ... } |
인터페이스란?
Interface 로 선언되어 추상 메소드를 0개 이상 가지는 명세
- 단독 사용이 불가능하고, 구현체 클래스를 통해 구현하여 사용
- 구현시 추상 메소드를 오버라이딩을 통해 정의해야함
- 인터페이스의 명세(메소드 구현)를 강제하는 용도
- default method 를 통해 메소드를 미리 선언할 수 있음(JAVA8 이상)
- 다형성을 추구
문법 예시
Interface
public interface InterfaceExample { void interfaceMethod(); default void defaultMethod(){ ... } } |
ImplementClass
public ImplementClass implements InterfaceExample { ... @Override public void interfaceMethod(){ ... } ... } |
728x90
반응형