추상클래스
추상메서드
구현부가 없는 메서드 이다.(매개변수,반환형,함수이름,접근제어자만 선언해 놓는 것)
추상메서드가 포함되어 있으면 해당 메서드를 포함하는 클래스는 추상클래스여야함.
추상메서드만 가져야하는 것은 아니다.
추상메서드는 상속을 하기 위해 만든다.
추상클래스는 인스턴스화 될 수 없다.
추상클래스를 상속받은 하위 클래스들은 만드시 추상메서드를 구현해야한다. 추상메서드를 구현하지 않을 것이라면 추상클래스가 되어야 한다.
상속받은 추상메서드 구현한 모습.
상속받은 추상메서드를 전부 구현하지 않을 것이라면 해당 클래스는 추상 클래스가 되어야 한다.
추상메서드를 구현하지 않은 추상클래스를 상속받은 또다른 클래스에서 구현하지 않은 추상메서드를 구현한 모습.
상위클래스는 추상메서드 구현을 하위클래스에게 위임 시켰다.라는 표현을 사용. 하위 클래스는 추상메서드를 구현할 책임이 있다고 표현.
추상메서드를 구현하지 않은 추상클래스들은 인스턴스화 불가능한 모습. 추상클래스를 모두 구현한 DeskTop,MyNoteBook 인스턴스는 업캐스팅이 가능하다.
인스턴스화를 막고 상속용도로만 사용하기 위해서도 클래스를 추상화 하기도 한다.
'JAVA' 카테고리의 다른 글
[JAVA] 기초문법 - 인터페이스 (0) | 2021.10.03 |
---|---|
[JAVA] 기초문법 - 추상클래스와 템플릿 메서드 (0) | 2021.10.03 |
[JAVA] 기초문법 - 다형성 활용과 다운캐스팅 (0) | 2021.10.03 |
[JAVA] 기초문법 - 오버라이딩과 다형성(3) (0) | 2021.09.28 |
[JAVA] 기초문법 - 상속과 다형성(2) (0) | 2021.09.28 |