[JAVA]/[자바 기초]
[자바 기초] 추상 클래스
북방바다코끼리표범
2023. 8. 10. 12:42
복습
https://shins99.tistory.com/34
[자바 기초] 다형성
복습 https://shins99.tistory.com/32 [JAVA] 상속 복습 https://shins99.tistory.com/25 [자바 기초] 배열 복습 https://shins99.tistory.com/23 [자바 기초] static 복습 https://shins99.tistory.com/21 [자바 기초] C R U D 의 개념 복습 ht
shins99.tistory.com
💡 학습 목표
1. 추상 클래스에 의미
2. 메서드(함수)의 선언부란
3. 메서드(함수)의 구현부란
4. abstract 예약어를 알자
5. 추상 클래스는 개발자 입장에서 new 키워드를 일반적으로 사용할 수 없다.
추상 클래스 (Abstract Class)
- 하나 이상의 추상 메서드를 포함하거나, abstract 키워드를 가진 클래스
- 추상적인 개념 = 화면에 나타낼 수 없는 것들
- 인스턴스화 불가능 (new 키워드 사용 불가)
→ 오류 : 부모 클래스 참조변수 = new 부모클래스();
→ 업 캐스팅 가능 : 부모 클래스 참조변수 = new 자식클래스();
// 추상 클래스란
// 1. abstract 키워드를 포함하면 추상 클래스가 된다.
// 2. 하나 이상의 추상 메서드를 포함하면 반드시 추상 클래스가 되어야 한다.
// 추상 클래스와 - 강제성
public abstract class Animal {
public void move() {
System.out.println("동물이 움직입니다.");
}
// 추상 메서드란 !!
public abstract void hunt();
}
추상 메서드
- 구현 코드 없이 메서드의 선언만 있는 메서드 (중괄호 없음)
- 추상 클래스에 추상 메서드가 없을 수는 있음, 하지만 추상 메서드가 있다면 반드시 추상 클래스가 되어야 한다(강제성)
- 추상 메서드는 자식 클래스가 상속 받아서, 메서드 오버라이드를 통해 구현
→ 추상 메서드 = 자식 클래스가 구현해야 하는 메서드
package ch07;
// 추상 메서드를 상속 받았다면
// 해결 방법
// 1. 자식 클래스도 충상 클래스로 만들어 주면 된다.
// 2. 추상 메서드를 일반(구현) 메서드로 재정의 해주면 된다.
public class Human extends Animal {
@Override
public void hunt() {
System.out.println("돌 도끼로 사냥을 합니다.");
}
}