-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
상위클래스를 이용하는 방식
21.01.16 16:13 작성 조회수 89
0
메인에서 객체를 생성할 때 상위클래스를 이용하는 것이 좋다고 하셨는데 , 그렇게 되면 하위클래스만의 메소드 이용할 때 편한 방법은 따로 없나요?
Animal d = new Dog();
d.eat();
((dog)d).night(); 이런 식으로 상위클래스에 없는 메소드를 사용할 때는 매번 ((dog)d). 이렇게 접근해야 하는건가요?
복붙하면 된다고는 하지만, 번거로움도 있는거 같아서요..!
답변을 작성해보세요.
0
박매일
지식공유자2021.01.16
네 그것은 접근방식의 차이 입니다.하위클래스의 동작방식을 모른다고 가정하면 아래처럼 객체를 생성해서 접근하면되겠죠. 그러면 하위클래스에만있는 메서드는 다운케스팅을 해서 접근을 해야됩니다.->((Cat)ani).night();
1.Animal ani=new Cat();
이런경우가 아니다면
2.Cat c=new Cat(); 이렇게 객체를 생성해서 접근하면 더 편하게 접근하긴 하겠죠.
그런데 구현하다보면 1번 처럼 접근해야되는 경우가 더 많다는 것을 알수있을겁니다.
답변 1