본문 바로가기

컴퓨터공학/Java

CS> 추상 클래스와 인터페이스 사용의 차이점

상위 클래스는 super class

하위 클래스는 sub class 라고 한다. 

Abstract class

super class가 어느정도 구현이 되어 있지만 완성된 형태를 sub class에 요구하는 경우,

이런 super class를 abstract class 로 디자인한다. 

 

Interface

내부가 빈 empty class

구현은 완전히 서브클래스에게 맡긴다. 

인터페이스를 사용하면 어떤 기능을 서브클래스들이 가지게 될 지 파악 가능하다. 

변수 선언 가능하나 public static final 이 자동으로 붙게되어 변수가 아닌 상수가 된다. 

상속이 아닌 구현에 해당되어서 다중 구현(Multiple implementation)이 가능하다. 

 

 

 

 

정리

abstract class  interface
단일 상속 다중 구현
모든 접근제한자( public private protected default) 가능 public
멤버 변수에서 변수와 상수(variables, constant) 사용 가능 상수(constant) 만 사용
abstract method, concrete method abstract method