강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

yk8738님의 프로필 이미지
yk8738

작성한 질문수

Java TPC (생각하고, 표현하고, 코딩하고)

나보다 부모가 먼저야!

상위클래스를 이용하는 방식

작성

·

164

0

메인에서 객체를 생성할 때 상위클래스를 이용하는 것이 좋다고 하셨는데 , 그렇게 되면 하위클래스만의 메소드 이용할 때 편한 방법은 따로 없나요?

Animal d = new Dog();
d.eat();
((dog)d).night();  이런 식으로 상위클래스에 없는 메소드를 사용할 때는 매번 ((dog)d). 이렇게 접근해야 하는건가요?
복붙하면 된다고는 하지만, 번거로움도 있는거 같아서요..!

답변 1

0

박매일님의 프로필 이미지
박매일
지식공유자

네 그것은 접근방식의 차이 입니다.하위클래스의 동작방식을 모른다고 가정하면 아래처럼 객체를 생성해서 접근하면되겠죠. 그러면 하위클래스에만있는 메서드는 다운케스팅을 해서 접근을 해야됩니다.->((Cat)ani).night();

1.Animal ani=new Cat();

이런경우가 아니다면

2.Cat c=new Cat(); 이렇게 객체를 생성해서 접근하면 더 편하게 접근하긴 하겠죠.

그런데 구현하다보면 1번 처럼 접근해야되는 경우가 더 많다는 것을 알수있을겁니다.

yk8738님의 프로필 이미지
yk8738

작성한 질문수

질문하기