- 추상화의 핵심 개념과 목적을 이해하고 설명할 수 있다.
- 기존 클래스들의 공통점을 모아서 상위 클래스를 만드는 것
- abstract 제어자가 내포하고 있는 의미를 이해하고, 어떻게 사용되는 지 설명할 수 있다.
- 미완성
- 추상 메서드
- 추상 클래스 - 객체 생성이 불가
- 추상 클래스의 핵심 개념과 기본 문법을 이해할 수 있다.
- 메서드 시그니처만 존재하고 바디가 선언되어 있지 않은 추상 메서드를 포함하는 클래스
- 추상클래스는 상속 관계에 있어 새로운 클래스를 작성하는데 매우 유용
- 추상 클래스는 자바 객체지향 프로그래밍의 추상화를 구현하는데 핵심적인 역할
- final 키워드를 이해하고 설명할 수 있다.
위치 | 의미 |
클래스 | 변경 또는 확장 불가능한 클래스, 상속 불가 |
메서드 | 오버라이딩 불가 |
변수 | 값 변경이 불가한 상수 |
- 자바 추상화에서 핵심적인 역할을 수행하는 인터페이스의 핵심 내용과 그 활용을 이해할 수 있다.
- 추상 클래스터럼 자바에서 추상화를 구현
- 추상클래스에 비해 더 높은 추상성을 가짐(기본적으로 추상 메서드와 상수만을 멤버로 가질 수 있음)
- 새로운 메서드 추가의 어려움 등 기존 인터페이스가 가지는 한계를 보완하기 위해 자바 8이후에 default/satic메서드를 인터페이스에 포함시킬 수 있도록 업데이트 됨
- 내부의 모든 필드가 public static final로 정의
- static과 default 메서드 이외의 모든 메서드가 public abstract로 정의
- 인터페이스 구현: implements
- 해당 인터페이스에 정의된 모든 추상메서드를 구현해야 함
- 다중 구현 가능
- 인터페이스 장점:
- 역할과 구현을 분리시켜 사용자 입장에서는 복잡한 구현의 내용 또는 변경과 상관없이 해당 기능을 사용할 수 있음
- 개발자 입장에서도 선언과 구현을 분리시켜 개발시간을 단축시킬 수 있고, 독립적인 프로그래밍을 통해 한 클래스의 변경이 다른 클래스에 미치는 영향을 최소화 할 수 있음
- 추상 클래스와 인터페이스의 차이를 설명할 수 있다.
- 추상 클래스와 인터페이스 둘 다 하나 이상의 추상메서드로 구성
- 인터페이스는 기본적으로 추상 메서드와 상수만을 멤버로 가질 수 있음
'부트캠프 기록 > Section1' 카테고리의 다른 글
[ 객체지향 ] 다형성 (0) | 2023.02.26 |
---|---|
[ 객체지향 ] 캡슐화 (0) | 2023.02.25 |
[객체지향] 상속 (0) | 2023.02.24 |
[객체지향] 내부클래스 (0) | 2023.02.22 |
[ 객체지향 ] 생성자 (0) | 2023.02.17 |