추상 Abstract 클래스 : 객체지향 OOP 의 특징 중 하나로, 클래스들의 공통되는 필드와 메소드를 정의한 클래스
- 클래스의 공통 설계도
- 여러 클래스들에 대한 설계의 규격화의 필요성
![]() |
| 추상화 클래스의 구조 |
- 일반 클래스처럼 필드를 생성하거나 일반 메소드의 선언이 가능하다
- 추상 클래스의 경우 블록 안에 동작을 작성하는게 아닌, abstract 타입 함수명 의 형식으로 선언만 가능하다
- 추상 클래스로 선언된 클래스는 일반 클래스처럼 직접적인 사용이 불가하며, 상속 하여 사용해야 하며, 추상 클래스 내부에 추상 메소드(abstract 타입 함수명)가 있는 경우 추상 메소드에 대한 오버라이딩이 필요하다
인터페이스 interface : 추상클래스와 다르게 별도의 필드나 메소드의 선언이 불가하며, 오직 추상메소드만 정의가 가능한 추상클래스
※단순히 오버라이딩 할 메소드의 그룹화에 사용됨
- 추상 클래스와 동일하게 내부 메소드 들에 대해 오버라이딩 및 상속 후 사용
- 인터페이스는 기존 클래스나 추상 클래스와 다르게 다중 상속이 가능하다
![]() |
| ※인터페이스는 implement 로 상속 받는다 |



댓글
댓글 쓰기