Abstract Class 란?
- class 예약어 앞에 abstract 를 명시해서 클래스를 정의한다.
- 형태만 정의되고 실제 구현은 되지 않은 메소드가 존재할수 있다.
- 형태만 정의된 메소드를 만들때는 abstract 예약어를 붙여서 메소드를 정의한다.
- 생성자는 존재하지만 단독으로 객체 생성은 불가하다.
- 추상클래스 Type 의 참조값이 필요하다면 추상클래스를 상속받은 자식클래스를 정의해서 객체 생성한다.
- 추상클래스를 상속받은 자식클래스는 부모의 추상메소드를 모두 오버라이드(재정의) 해야 한다.
기본 예제)
추상클래스를 상속받은 자식클래스이므로 부모의 추상메소드인 attack()을 재정의 하였다.
추상클래스를 상속받은 자식클래스이므로 부모의 추상메소드인 attack()을 재정의 하였다.
다음은 Weapon, MyWeapon, MyWeapon2 클래스이며
MyWeapon, MyWeapon2 는 Weapon을 부모클래스로 상속받고있다.
활용 예시)
각각 추상메소드를 부모로가진 자식메소드를 호출하여 오버라이딩한 내용이 정상적으로 출력되는 모습이다.
'Java' 카테고리의 다른 글
[Eclipse] Java interface(인터페이스) (0) | 2023.05.03 |
---|---|
[Eclipse] Java Inner Class(내부 클래스) (0) | 2023.05.03 |
[Eclipse] Java Extends(상속) (0) | 2023.05.02 |
[Eclipse] Java Random nextInt (0) | 2023.05.01 |
[Eclipse] Java Scanner (0) | 2023.05.01 |