ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.