반응형
추상 클래스 (abstract class)
- 본체가 없는 메소드로, 하위 클래스에서 구현되어야 함.
- 추상 클래스는 하나 이상의 추상 메소드(abstract method)를 갖는 클래스
- 공통점들을 모아 분리해내어 간결하고 이해하기 쉽게 만드는 것
- ex) 그릇, 국자, 주걱 -> 추상화 '주방용품'
- 칼, 활, 도끼 -> 추상화 '무기'
- 상속 관계에서 부모 클래스의 역할을 갖기 위한 클래스이며, 추상 메소드와 일반 메소드를 가질 수 있음
- 추상 메소드는 바디가 없고 세미콜론으로 끝남
- 추상 클래스는 new 동적 할당자를 통해 인스턴스 객체를 만들 수 없음. (new 생성자 불가능)
인터페이스(Interface)
- 추상 메소드의 집합체
- 인터페이스는 일반적으로 추상 메소드만 가지며, interface 키워드를 이용해 정의한다.
- 특정 클래스가 인터페이스를 구현하기 위해서는 implements 키워드를 통해 구현한다.
- 다중 상속 가능 : 상속과 달리 인터페이스는 하나의 클래스가 둘 이상의 인터페이스를 동시에 구현
- 인터페이스를 통해 설계와 구현을 완전히 분리할 수 있다.
- 인터페이스에는 필드, 추상 메소드, static 메소드, default 메소드를 정의할 수 있다.
- 인터페이스에 정의하는 모든 필드는 public static final (사용자 정의 상수)이 자동으로 적용됨.
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 오버라이딩 & 오버로딩 (Overriding & Overloading) (0) | 2024.01.01 |
---|---|
이클립스(Eclipse) 코드 줄 간격 늘리기 (0) | 2023.12.31 |
[JAVA] StringBuilder와 StringBuffer의 차이 (0) | 2023.12.25 |
이클립스 프로젝트 불러오기 import 방법 (1) | 2023.12.23 |
객체지향 개념 클래스 메소드 (1) | 2023.12.16 |
댓글