와일드카드 란? 자바에서 컬렉션을 사용하다 보면 이런 코드들을 만나게 됩니다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; // ← 허용됐다..
generic
자바 개발을 하다 보면 아래의 코드와 같이 👇List names = new ArrayList();List이나 Map 처럼 꺽쇠() 안에 뭔가 들어가는 코드를 자주 보게 됩니다.바로 이것이 제네릭스(Generics) 문법입니다. 처음엔 생소할 수 있지만,자바 컬렉션을 제대로 쓰고, 안정적인 코드를 작성하기 위해 꼭 필요한 개념입니다.이번 글을 통해 제네릭이 무엇인지, 왜 필요한지, 그리고 어떻게 쓰는지충분히 이해할 수 있도록 하나씩 차근차근 설명해보겠습니다. 제네릭스란?타입을 코드에서 미리 정하지 않고, 나중에 사용할 때 정할 수 있게 해주는 문법입니다.쉽게 말하면,'무엇이든 담을 수 있는 박스(Box)'📦 를 만들고,사용할 때 그 박스 안에 넣을 물건의 종류(타입) 를 나중에 결정하는 거예요.B..