작성
·
66
0
[질문 내용]
코드에서 private static Map<Long, Member> store = new HashMap<>(); 부분이 있는데요..
중간에 코딩시에 HashMap 부분에 빨간줄이 그어져있어서
뭔가 문제지 했는데
나중에 코드를 보니까
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Optional;
처음 작성시엔 위의 코드로 import 가 되어있었는데
동영상 후반에 보니까 아래 코드로 변경되어져 있었습니다.
import java.util.*;
위 import 부분을 강의영상에서 변경된 부분을 못찾았는데
어떠한 이유로 그렇게 변경된건지 알고 싶습니다.
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 우대희님!
질문해주신 부분과 유사한 사례들이 많습니다. 여기서는 HashMap
과 같은 Java 컬렉션 프레임워크에 대한 import 관련 이슈를 어떻게 해결해야 하는지 설명해드리겠습니다.
먼저, HashMap
또는 다른 특정 클래스를 사용할 때는 해당 클래스가 포함된 패키지를 명확하게 import 해줘야 합니다. 초기 코드에서 import java.util.HashMap;
은 HashMap
클래스 하나만을 명시적으로 import 했기 때문에 코드의 특정 부분에서 HashMap
에 문제가 발생하지 않았을 것입니다.
반면 후반에 import java.util.*;
로 변경된 것은 java.util
패키지에 있는 모든 클래스를 import 하겠다는 의미입니다. 이러한 포괄적인 import 방법을 사용하면 List
, Map
, Optional
등 다른 유틸리티 클래스들을 사용할 때에도 import 문을 따로 추가할 필요가 없이 편리하게 사용할 수 있습니다.
위의 링크에서는 어떤 상황에서 Map 인터페이스
로 선언하고, HashMap
의 구현체를 사용하는지 등에 대한 설명을 확인하실 수 있습니다. 이는 객체 지향 프로그래밍의 다형성을 활용하기 위한 일반적인 방법론입니다.
Java의 import 문 관련하여 보다 편리하고 이해하기 쉬운 코드를 작성하려면, 사용하는 클래스들만 명시적으로 import 하는 것이 코드 유지보수에 있어 더 좋을 수 있지만, 경우에 따라 편리성을 위해 import java.util.*;
과 같이 사용하기도 합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.