-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
추상클래스 질문!
22.10.26 11:40 작성 조회수 154
0
(질문1) 추상클래스는 굳이 메서드에서 구현부를 구현시키지 않으려고 사용한다고 이해하는게 맞나요?
(질문2) 만약에 맞다면 public void eat() {System.out.println("?");} 에서 구현부를 없애는 게 아니라
public void eat() {}이런 식으로 하면 안 되는 건가요?
구현부를 구현하지 않으려고 굳이 사용한다는 게 이해가 잘 안 갑니다...ㅠㅠ
그 전처럼 하위 클래스에서 재정의만 해줘도 멀쩡히 구현되는데 왜 사용하는 지 이해가 안 갑니다.
답변을 작성해보세요.
1
박매일
지식공유자2022.10.26
추상클래스는 단독으로 사용이 불가하고 반드시 하위클래스가 구현해서 사용이됩니다.
추상클래스를 하위클래스가 반드시 구현하게 만들려면 추상클래스가 가지고있는 메서드를 추상메서드로 만들어야되는데 추상메서드가 바로 public void eat(); 이렇게 구현부가 없는 메서드입니다. 상속에서 설명했듯이 하위클래스의 동작방식을 모를때 상위클래스인 추상클래스로 하위클래스를 구동 시키기위해서 추상클래스가 필요한 이유중 하나입니다.
아래처럼 Animal로 Dog를 구동시킬려는 이유입니다. Animal ani=new Dog();
위처럼 구동할려면 Animal에 있는 추상메서드를 Dog가 반드시 구현을 해야되구요.
이해가 되셨을까요?
이제 시작이야
질문자2022.10.27
아 감사합니다. 덕분에 이해가 잘 되고있습니다!!
본 질문과는 다른 질문이지만 예외처리에 대한 내용은 이 강의에서는 없는 거 같은데
따로 공부해야하는 건가요?
답변 1