다음과 같은 Box 클래스 선언 시, Box에 넣을 내용물로 아래 content 필드를 선언하려함.
public class Box {
public ? content;
}
이때 타입을 무엇으로 해야할까?
Box는 다양한 내용물을 저장해야 하므로 특정 클래스 타입으로 선언 X.
다음과 같은 Object 타입으로 선언함.
public class Box {
public Object content;
}
Object 타입은 모든 클래스의 최상위 부모 클래스로,
모든 객체는 부모 타입인 Object로 자동 타입 변환이 되어
content 필드에는 어떤 객체든 대입이 가능함.
Box box = new Box();
box.content = 모든 객체;
문제는
Box 안의 내용물을 얻을 때마다,
content는 Object 타입이므로 어떤 객체가 대입되어 있는지 확실하지 않음.