Programming/JAVA
[JAVA] 9. 추상클래스와 인터페이스
기딩
2023. 10. 23. 09:51
728x90
Section 01. 추상화
추상화
- 불필요 정보 숨김, 중요한 정보만 나타냄
- 공통 속성/행동 추출 → 효율적 코드
추상화 장점
- 객체 간 복잡성 ↓
- 중복↓ → 재사용성
- 중요 세부 정보만 → 보안 도움
추상화의 유형
- 데이터 추상화 : 주로 복잡한 자료형 만듦, 구현 숨김 & 데이터 유형 조작작업만 노출
- 제어 추상화 : 작업의 단위 정의 만듦, 재사용, 반복되는 모든 코드 수집 & 하나의 단위로 노출
Section 02. 추상 클래스
추상 클래스 선언
- abstract 키워드로 선언
- 추상 메서드 포함 가능 : 자식 클래스에서 구현됨
- abstract class 클래스명 {
반환유형 메서드명([매개변수]);
abstract 반환유형 메서드명 ([매개변수]);
Section 03. 인터페이스
인터페이스 개념
- 그 자체의 객체를 만들 수 x
- 일반 메서드 x, 추상메서드만 포함o
인터페이스 사용이유
- 완전한 추상화 구현o
- 다중 상속 o
- 느슨한 결합 관계 o
인터페이스 선언
- interface 키워드 사용 interface 인터페이스명 {
- 본문 없는 메서드
- 인터페이스 메서드 : 기본적으로 public과 abstract
→ 명시적으로 선언 안 해도 됨. 그 외의 접근제한자로 정의하면 오류 발생 - 인터페이스 변수 : 가능은 하나 선언 안 하는 게 좋음
인터페이스의 상속
- 단일 상속 : extends 대신 implements 키워드 사용
728x90