Generics

자바에서 제네릭이 가장 자주 쓰이는 곳이 바로 컬렉션 프레임워크입니다.List, Set, Map 같은 컬렉션은 거의 대부분 제네릭으로 사용되죠.제네릭을 잘 이해하면,더 안전하게, 더 깔끔하게, 형변환 없이 코드를 작성할 수 있습니다. List – 순서가 있는 값들의 목록 List는 하나의 타입을 가진 값들의 순서 있는 집합입니다. 순서대로 데이터를 저장하고, 인덱스로 접근할 수 있어요.T는 이 리스트에 담을 값의 타입을 의미합니다.예를 들어List ➡ 문자열만 저장할 수 있음List ➡ 정수만 저장할 수 있음List ➡ 사용자 객체만 저장할 수 있음값을 추가(add) 하고,순서(index) 에 따라 꺼낼 수 있으며,중복도 허용합니다. 👉 제네릭 덕분에 리스트 안에 어떤 타입의 값만 담을지 명확하게 ..
와일드카드 란? 자바에서 컬렉션을 사용하다 보면 이런 코드들을 만나게 됩니다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; // ← 허용됐다..
자바 개발을 하다 보면 아래의 코드와 같이 👇List names = new ArrayList();List이나 Map 처럼 꺽쇠() 안에 뭔가 들어가는 코드를 자주 보게 됩니다.바로 이것이 제네릭스(Generics) 문법입니다. 처음엔 생소할 수 있지만,자바 컬렉션을 제대로 쓰고, 안정적인 코드를 작성하기 위해 꼭 필요한 개념입니다.이번 글을 통해 제네릭이 무엇인지, 왜 필요한지, 그리고 어떻게 쓰는지충분히 이해할 수 있도록 하나씩 차근차근 설명해보겠습니다. 제네릭스란?타입을 코드에서 미리 정하지 않고, 나중에 사용할 때 정할 수 있게 해주는 문법입니다.쉽게 말하면,'무엇이든 담을 수 있는 박스(Box)'📦 를 만들고,사용할 때 그 박스 안에 넣을 물건의 종류(타입) 를 나중에 결정하는 거예요.B..
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│ ..
WooZzing
'Generics' 태그의 글 목록