깨알 개념/기타

[Java] Map<Key, Value>의 Key 자리에 원시 타입(Primitive types) 데이터 형식이 올 수 없는 이유

interfacer_han 2023. 10. 30. 12:10

#1 알고리즘

#1-1

자바의 Map 인터페이스에서, Map의 Key는 제네릭으로 작성되어 있다. 따라서, "제네릭(Generic) 자리에 원시 타입(Primitive types) 데이터 형식이 올 수 없는 이유"를 생각해야 한다.

 

#1-2

먼저, 제네릭 탄생의 배경을 알아야 한다. 제네릭은, 자바에서 제네릭 도입 이전에 발생한 여러가지 문제(타입 안전성이 없고, 프로그래머가 일일이 명시적으로 형변환을 해야 하며, 코드 재사용성이 낮음)를 해결하기 위해 도입되었다. 제네릭은 많은 종류의 객체들을 다뤄야 하는 프로그래머가 객체를 더 쉽고 직관적으로 다룰 수 있도록 도와준다. 

 

#1-3

제네릭을 한 마디로 표현하면 객체 구별의 직관화이다. 따라서, 객체와 연관이 없는, 독립적인 개념인 원시 타입 변수의 데이터 형식을 제네릭 자리에 놓을 수 없는 것이다. 제네릭의 자리에는, 객체의 이름표라고 할 수 있는 참조 타입 변수의 데이터 형식만이 올 수 있다.

 

#2 요약

Map 인터페이스의 Key와 Value 데이터 타입은 제네릭으로 작성되어있는데, 이 제네릭은 객체 구별의 직관화를 위해 도입된 개념이다. 원시 타입 데이터 형식은 객체와 연관이 없는 개념이다. 따라서 제네릭 자리에 원시 타입 데이터 형식을 둘 수 없다.