본문 바로가기
Programming/JAVA

[JAVA] 9. 추상클래스와 인터페이스

by 기딩 2023. 10. 23.
728x90

Section 01. 추상화

추상화

  • 불필요 정보 숨김, 중요한 정보만 나타냄
  • 공통 속성/행동 추출 → 효율적 코드

추상화 장점

  • 객체 간 복잡성 ↓
  • 중복↓ → 재사용성
  • 중요 세부 정보만 → 보안 도움

추상화의 유형

  • 데이터 추상화 : 주로 복잡한 자료형 만듦, 구현 숨김 & 데이터 유형 조작작업만 노출
  • 제어 추상화 : 작업의 단위 정의 만듦, 재사용, 반복되는 모든 코드 수집 & 하나의 단위로 노출


Section 02. 추상 클래스

추상 클래스 선언

  • abstract 키워드로 선언
  • 추상 메서드 포함 가능 : 자식 클래스에서 구현됨
  • abstract class 클래스명 {
              반환유형 메서드명([매개변수]);
               abstract 반환유형 메서드명 ([매개변수]);

Section 03. 인터페이스

인터페이스 개념

  • 그 자체의 객체를 만들 수 x
  • 일반 메서드 x, 추상메서드만 포함o

인터페이스 사용이유

  • 완전한 추상화 구현o
  • 다중 상속 o
  • 느슨한 결합 관계 o

인터페이스 선언

  • interface 키워드 사용 interface 인터페이스명 {
  • 본문 없는 메서드
  • 인터페이스 메서드 : 기본적으로 public과 abstract
    → 명시적으로 선언 안 해도 됨. 그 외의 접근제한자로 정의하면 오류 발생
  • 인터페이스 변수 : 가능은 하나 선언 안 하는 게 좋음

인터페이스의 상속

  • 단일 상속 : extends 대신 implements 키워드 사용
728x90

'Programming > JAVA' 카테고리의 다른 글

[JAVA] 간단한 회원관리 프로그램  (0) 2024.01.10
[JAVA] 10. 패키지  (1) 2023.10.23
[JAVA] 8. 상속과 다형성  (0) 2023.10.19
[JAVA] 7. 클래스와 객체  (0) 2023.10.19
[JAVA] 6. 배열과 문자열  (1) 2023.10.19