< 추상 메소드 >
- method body({})가 존재하지 않는 미완성 메소드
- abstract예약어를 사용해서 정의함
- 미완성 메소드가 있는 클래스는 미완성클래스(추상클래스)가 됨 = 추상클래스에서만 정의 가능
[ 표현법 ]
접근제한자 abstract 반환형 메소드이름();
< 추상 클래스 >
- 추상 메소드가 존재하는 클래스는 추상클래스로 정의됨
- abstract예약어를 사용해서 정의함
- 객체 생성 불가능. 참조형 변수로는 사용 가능 => 다형성 이용 가능
- 추상 클래스 : 일반 필드 + 일반 메소드 + 추상메소드(생략 가능)
[ 표현법 ]
접근제한자 abstract class 클래스명 {
일반필드
일반메소드
추상메소드(생략가능)
}
[ 사용법 ]
- 객체 생성이 불가능해야 하는 클래스를 추상클래스로 생성
부모클래스의 용도로만 사용
- 해당 클래스가 덜 구현된 상태일때 한 눈에 파악 가능
[ 추상클래스 상속 ]
1번 방법 : 상속받은 추상클래스의 모든 추상메소드 구현
2번 방법 : 해당 클래스를 추상클래스로 변경
'개발 > Java' 카테고리의 다른 글
[Java] 자바 - 에러, 예외(Exception) / 예외처리구문 ( try ~ catch문 ) / throws (수정) (1) | 2022.09.20 |
---|---|
[Java] 자바 - 인터페이스 ( 예약어 implements ) (0) | 2022.09.20 |
[Java] 자바 - 다형성(Polymorphism) / 업캐스팅(Upcasting) / 다운캐스팅(Downcasting) / 동적바인딩 / instanceof 연산자 (0) | 2022.09.19 |
[Java] 자바 - 상속(Inheritance) / super / 오버라이딩(Overrding) (0) | 2022.09.18 |
[Java] 자바 - 객체배열(Object Array) (0) | 2022.09.14 |