Object 클래스
: 모든 클래스의 부모 (new 연산자를 사용 가능한 대상)
class Dog extends Object{
String name = "멍멍이";
}
class Cat {
String name = "야옹이";
}
public class ObjectEx01 {
public static void main(String[] args) {
Object o1 = new Dog(); // 다형성
Object o2 = new Cat();
Dog d1 = (Dog) o1;
Cat c2 = (Cat) o2;
System.out.println(d1.name); // 멍멍이
System.out.println(c2.name); // 야옹이
}
}
자주 활용할 일은 없지만 어떤 type을 하나로 묶을때 사용 할 수 있다.
class 궁수 {
String name = "궁수";
}
class 전사 {
String name = "전사";
}
public class ObjectEx02 {
public static void main(String[] args) {
Object[] o1 = new Object[2];
o1[0] = new 궁수();
o1[1] = new 전사();
궁수 g1 = (궁수) o1[0];
전사 g2 = (전사) o1[1];
System.out.println(g1.name); // 궁수
System.out.println(g2.name); // 전사
}
}
출처
- 이지업 컨텐츠 내의 데어프로그래밍 자바강의