맨 앞에 abstract 붙는다
추상 메서드==미완성 메서드가 1개 이상이면 추상 클래스다 |
모든 접근 지정자가 public
모든 메서드가 추상(abstract) 메서드 여야 한다 모든 필드가 static final |
미완성 -> 완성으로 구현한다 ==> 구현하다
완성 -> 완성 => 오버라이딩
완성과 미완성의 구분이 뭐냐?
중괄호가 있으냐이다.
각자 오버라이딩 된 함수가 나온다
Animal 클래스 --> 추상 클래스로 만들자!
자식 클래스는 cry 함수를 반드시 오버라이딩 한다.
int a; 는 오류가 난다. stack 메모리에는 값을 초기화 해줘야한다
class A{
int a;
}
는 오류 안난다. Heap 메모리에서 자동으로 초기화로 0을 대입해주기 때문이다.
추상클래스는 붕어빵 기계 부품이다
추상 클래스는 객체를 못 만든다.
붕어빵 기계를 만드는 부품이다.
객체는 클래스만 만들 수 있다.
객체 생성 방법
- 추상 클래스를 상속해서 구현 클래스로 객체를 만든다.
- 익명 inner class 사용
클래스를 직접 만들어야함
그래서 객체 여러번 반복이 쉬움
클래스 안 만들어도 됨
한번만 객체 만들면 됨
'java > 자바' 카테고리의 다른 글
Ch13 이너 클래스, 이너 인터페이스 (0) | 2022.10.03 |
---|---|
Ch12 인터페이스 (0) | 2022.10.03 |
[Chap11] - 자바 제어자 #2 (final, abstract) (0) | 2022.09.25 |
chap[10-5] super와 super() (0) | 2022.09.25 |
chap[10-4] 필드와 static 멤버 (필드_메서드)의 중복 (0) | 2022.09.11 |