-
Map을 통한 객체 관리자바 초보개발 2023. 12. 29. 17:48
Map을 사용해 서로다른 클래스들을 Object 형식으로 저장하고, 나중에 꺼내 쓸 때 각자의 클래스 형태로 다시 캐스팅해서 사용하는 방법을 배웠다.

Map 자료구조의 생성과 사용 Map 다음에 오는 <> 기호 안에 들어가는 타입들을 "제네릭스" 라고 부르는 것 같다. 정확한 정의는 인터넷에 나와 있겠지만, 내가 받아들이기에 제네릭스는 자료구조에 어떤 "타입"의 데이터가 들어갈 지 선언을 하는 것 같다.
List<> 객체를 쓸 때에 <> 기호 안에 아무것도 넣지 않았을 때가 있는데, 제네릭스는 무조건 선언해야 하는 것은 아니지만, 데이터 명시성을 높이기 위해서 써주면 좋은 것 같다.
제네릭스 왼쪽은 Key, 오른쪽은 Value를 입력하는데, Map 자료구조에 데이터를 넣을 때 제네릭스에 맞춰 Map.put(key,value) 형식으로 넣어주면 된다.
위에선 String 타입을 Key로, Object 타입을 Value로 제네릭스를 정의하여 Map을 생성했기 때문에, 그에 맞춰
("key1" , new SomeClass1) 처럼 넣어주었다.
서로 다른 클래스를 한 자료구조에 넣으려면 , 자바에서 모든 클래스가 기본으로 상속받는 Object 타입으로 캐스팅해서 넣어주거나, 서로 공유하는 인터페이스 타입으로 선언하면 된다고 한다.
*
중요한것은, 꺼내온 클래스는 Object 타입이기 때문에, 사용하기 전 해당Class 타입으로 꼭 캐스팅 해줘야 한다는 것이다.
객체를 사용할 때 마다 생성하는 것은, 사용 횟수가 많아지면 부하가 늘어난다고 들었다.
그런데 객체를 사용할 때 마다 생성해서 쓰지 않고, Map에 저장된 데이터를 반복해서 사용하면 메모리 관리에 유리할 것 같다.
'자바 초보개발' 카테고리의 다른 글
연산자 (0) 2023.10.20 변수 요약 (0) 2023.10.20 자바 스캐너의 기본적 사용 (0) 2023.10.18 자바 기초 - 자료형 변수 (0) 2023.10.18