
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
Animal dog2 = dog;
이 코드를 이해 못하겠어요...
Animal 타입의 dog2 인스턴스를 생성하는 것 같은데 뒤에 dog 부분이 이해가 가지 않습니다.
위에서 클래스로부터 인스턴스 생성 할 때
Phone galaxy = new Phone();
Phone iphone =new Phone();
이런 식으로 생성했던 것 같은데 저 코드는 어떻게 이해해야 할까요?
class Animal {
String name;
public void cry() {
System.out.println(name + " is crying.");
}
}
class Dog extends Animal {
Dog(String name) {
this.name = name;
}
public void swim() {
System.out.println(name + " is swimming!");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog("코코");
dog.cry();
dog.swim();
Animal dog2 = dog;
dog2.cry();
// dog2.swim(); // compile error
}
}
