본문 바로가기

Java

추상 클래스 & 추상 메소드

반응형

추상 메서드 -> 구현 코드가 없이 선언부만 존재하는 메소드.

추상 클래스-> 추상 메서드를 포함한 클래스, 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