이론 공부

추상화

Yuco 2023. 3. 2. 21:19

추상화


- 공통된 행동, 필드를 묶어 하나의 클래스를 만드는 것


 
1. 추상 클래스 (=미완성 설계도)


- 하나 이상의 추상 메서드(선언만 되어있고 구현부가 없는 메서드)를 포함한 클래스

- 추상 클래스를 상속받는 자식 클래스는 부모 클래스의 추상 메서드를 반드시 구현해야만 하는 강제성을 가짐
 

2. 목적

- 공통된 필드와 메서드를 통일할 목적 : 필드와 메서드의 이름을 통일하여 유지보수성을 높이고 통일성을 유지할 수 있음

- 실체 클래스 구현 시, 시간 절약 : 추상 클래스로부터 받은 추상 메서드의 구현부만 만들면 되므로 처음부터 끝까지 만들 필요가 없음

- 규격에 맞는 실체 클래스 구현 : 설계자의 의도로써 만들어진 추상 클래스를 개발자가 사용하면 추상 메서드를 반드시 사용해야 함, 오버라이딩 하지 않으면 컴파일 에러로 실행부터 안됨 = 강제성
 

3. 추상 클래스의 구조


(접근 제어자) abstract class 클래스명 {
    멤버 변수;
    멤버 메서드;
    추상 메서드;  // 구현부가 없는 메서드 : 하위 클래스에게 이를 구현하도록 강제 = public abstarct void display(); 
}
 

4. final


- 변수 : final 변수는 상수(값의 변경 X)

- 메서드 : final 메서드는 하위 클래스에서 재정의 X

- 메서드 인자 : 메서드의 인자(파라미터)에 final이 있으면 해당 메서드 안에서 값의 변경 X

- 클래스 : final 클래스는 상속 X
 

'이론 공부' 카테고리의 다른 글

스프링 프레임워크  (0) 2023.03.10
서블릿과 JSP의 차이  (0) 2023.03.07
상속(Inheritance)  (0) 2023.02.10
클라이언트/서버  (0) 2023.02.09
자바 기초 내용 정리  (1) 2023.02.01