-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
12:40 부분 ani=new Cat( ); 질문 있습니다.
22.08.11 17:45 작성 조회수 139
0
Animal ani = new Dog();
ani.eat();
ani=new Cat();
ani.eat();
이 코드에서 ani=new Cat(); 이 부분은 왜
Animal ani = new Dog(); 부분처럼 Animal 을 안쓰는 건가요 ?
ani=new Cat(); 이 부분을
Animal ani = new Cat(); 으로 하면은 안되는건가요 ?
답변을 작성해보세요.
2
박매일
지식공유자2022.08.11
int a=10;
a=20;
이것과 비슷한것입니다. 처음에 a에 10을 저장하고 다음에 새롭게 a에 20을 저장하는 것처럼요.
int a=10;
int a=20; × 위에 a가 선언되어서 이렇게 쓰면 않되겠죠?
아니면 아래처럼 변수이름을 a1,a2로 다르게 선언해서 사용해야되구요.
int a1=10;
int a2=20;
Dog와 Cat도 Animal이 부모이기때문에 동일하다고 보면됩니다.
Aninal ani=new Dog();
ani=new Cat();
아니면 아래처럼 ani1 ani2처럼 변수를 다르게 사용하면 됩니다.
Animal ani1=new Dog();
Animal ani2=new Cat();
1
박매일
지식공유자2022.08.11
Animal ani = new Dog();
ani.eat();
ani=new Cat();
ani.eat();
아 위에 이미 Animal ani=new Dog()가 선언 되어있어서
다시 Animal ani=new Cat()으로 하면 중복 선언이 되어서 ani=new Cat()으로 한겁니다.
그리고 Dog와 Cat의 부모가 Animal이어서 변수 하나로 받아서(ani) eat()를 호출한거구요~
mumum3521
질문자2022.08.11
상속관계여서 ani = new Cat() 이 가능하다는건가요?! Animal ani=new Cat(); 이 중복 선언이면, ani=new Cat() 이렇게 선언하는 것은 뭐라고 하는건가요 ?!
답변 2