추상화
- 공통된 행동, 필드를 묶어 하나의 클래스를 만드는 것
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 |