와일드카드 란? 자바에서 컬렉션을 사용하다 보면 이런 코드들을 만나게 됩니다List strList = new ArrayList();List objList = new ArrayList();objList = strList; // ❌ 컴파일 오류!❓ “어? String은 Object의 자식인데, 왜 안 될까?”바로 이 순간부터 머릿속에 물음표가 생기기 시작합니다. 왜 안 되는 걸까요?자바는 제네릭 타입에 대해 다형성을 허용하지 않습니다.즉,String은 Object의 자식이지만List은 List의 자식이 아닙니다!예를 들어, 자바가 List을 List로 대입하는 걸 허용했다고 가정해 봅시다.List strList = new ArrayList();List objList = strList; // ← 허용됐다..
object
Object란? 자바에서 모든 클래스의 조상 Object는 자바에서 존재하는 모든 클래스의 ‘최상위(Top) 클래스’입니다. 자바에서는 우리가 새로 만드는 클래스들이 특별히 상속을 명시하지 않아도,자동으로 java.lang.Object 클래스를 상속받습니다.public class MyClass { // Object를 명시적으로 상속하지 않아도 자동 상속!}위 코드도 실제로는 아래처럼 됩니다👇public class MyClass extends Object {}즉, 우리가 사용하는 String, Integer, ArrayList, Scanner, File 등 모든 클래스는 Object의 자식이에요. 클래스 계층 구조 예시Object├── String├── Integer├── ArrayList│ ..