추상클래스 질문!
283
작성한 질문수 8
(질문1) 추상클래스는 굳이 메서드에서 구현부를 구현시키지 않으려고 사용한다고 이해하는게 맞나요?
(질문2) 만약에 맞다면 public void eat() {System.out.println("?");} 에서 구현부를 없애는 게 아니라
public void eat() {}이런 식으로 하면 안 되는 건가요?
구현부를 구현하지 않으려고 굳이 사용한다는 게 이해가 잘 안 갑니다...ㅠㅠ
그 전처럼 하위 클래스에서 재정의만 해줘도 멀쩡히 구현되는데 왜 사용하는 지 이해가 안 갑니다.
답변 1
1
추상클래스는 단독으로 사용이 불가하고 반드시 하위클래스가 구현해서 사용이됩니다.
추상클래스를 하위클래스가 반드시 구현하게 만들려면 추상클래스가 가지고있는 메서드를 추상메서드로 만들어야되는데 추상메서드가 바로 public void eat(); 이렇게 구현부가 없는 메서드입니다. 상속에서 설명했듯이 하위클래스의 동작방식을 모를때 상위클래스인 추상클래스로 하위클래스를 구동 시키기위해서 추상클래스가 필요한 이유중 하나입니다.
아래처럼 Animal로 Dog를 구동시킬려는 이유입니다. Animal ani=new Dog();
위처럼 구동할려면 Animal에 있는 추상메서드를 Dog가 반드시 구현을 해야되구요.
이해가 되셨을까요?
인프런 자바 강의 보고있는데요. 질문.
0
166
1
질문입니다
0
236
1
call by reference 관련 자바는 call by value방식만 존재하지 않나요?
0
958
1
ArrayLIst에 대해서 궁금합니다
0
371
1
자바버전
0
605
1
오버로딩 생성자
0
454
1
안녕하세요
0
347
1
문자열 String 에 대해 질문이 있습니다.
1
561
1
선생님 질문있습니다.
0
356
1
인강 강의내용
0
449
1
static 멤버 사용
0
427
1
강사님 추상메소드에서 전달하는 매개변수도 재정의 할때 반드시 구현하는건가요?
0
428
1
강사님 abstract 부분 궁금한점 있습니다!!
0
321
1
강사님 private 관련해서 궁금한점 있습니다!
0
336
1
45강 실습관련 질문드립니다
0
357
2
완강했습니다!!
0
365
1
Class생성시 관련하여 질문드립니다
0
233
1
안녕하세요 IDE관련해서
0
349
1
String관련 질문입니다
0
290
1
Wrapper 클래스란?(실습) 프로젝트에서
0
582
1
java 11로 해도 되나요?
0
434
1
궁금한 게 있습니다.
0
289
1
Java의 Call by Reference
0
262
1
강의 질문드립니다.
0
250
1





