반응형
추상 메서드 -> 구현 코드가 없이 선언부만 존재하는 메소드.
추상 클래스-> 추상 메서드를 포함한 클래스, new로 인스턴스화 불가능
추상클래스가 new로 인스턴스화 될 수 없는 이유는 추상 클래스로 만든 인스턴스는 추상 메소드를 호출할 수 있어야 하는데 그것은 구현되지 않은 메소드이므로 안됨. 따라서 하위 클래스로 다운캐스팅 해줘야 한다.
public void xx();
public void xx(){} ->이거는 추상아님.
public abstract void xx();
이렇게 표현 해 줘야 하고 이것은 하위 클래스에서 정의 될것임.
추상 메소드를 포함하는 클래스는 class 앞에 abstract 붙혀야 함.
추상 메서드 사용이유 ->
오버라이드는 상위클래스에서도 가능한 메서드인 경우, 하위 클래스에서 다른 기능으로 사용 할 때 오버라이드 하는 것인데 , 추상 메서드는 상위 클래스에서는 할 수 없는 작업이지만 필수적으로 있어야 하는 경우 선언만 해 놓고 책임을 하위 클래스로 미룸.
abstract를 상속받는 하위 클래스인 경우
abstract메소드를 전부 자신이 구현하지 않는 경우 ,
즉 하나의 추상메소드라도 갖고 있는 경우 자신도 abstract 클래스가 되어야함.
반응형
'Java' 카테고리의 다른 글
자바 연습 (추상 클래스) (0) | 2019.10.27 |
---|---|
final 키워드 사용 (0) | 2019.10.27 |
down casting & instanceof (0) | 2019.10.27 |
다형성 , 형 변환 (0) | 2019.10.27 |
up casting & override (0) | 2019.10.27 |