JongTachi의 개발 블로그
[Util] Java Util: 자바 개발자를 위한 강력한 도구 본문
오늘은 java 개발자라면 꼭 알아두어야 할 필수 라이브러리 Util에 대해 설명을 드리겠습니다.
자바 유틸은
데이터를 효율적으로 관리하고, 날짜와 시간을 다루고, 다양한 작업을 간편하게 처리할 수 있는 도구들을 제공합니다.
굉장히 강력한 도구이죠. 🚀
1. Java Collections Framework: 데이터 구조의 마법 🧙♂️
데이터를 저장하고 관리할 때, 배열만으로는 부족한 경우가 많아요.
컬렉션 프레임워크는 이러한 문제를 해결하기 위해 강력한 데이터 구조와 알고리즘을 제공합니다.
🌟 주요 컬렉션 클래스
- List : 순서가 중요한 데이터 관리.
- 예: ArrayList, LinkedList
- 활동 예시: 쇼핑몰의 장바구니 기능.
- Set : 중복을 허용하지 않는 데이터.
- 예: HashSet, TreeSet
- 활동 예시: 회원 가입 시 이메일 중복 체크.
- Map : 키-값 쌍으로 데이터를 저장.
- 예: HashMap, TreeMap
- 활동 예시: 사용자 ID와 로그인 정보를 연결
🛠️ 컬렉션 유틸리티: Collections 클래스는 컬렉션을 조작하는 다양한 메서드를 제공합니다.
- 정렬: Collections.sort(list)
- 섞기: Collections.shuffle(list)
- 최대값: Collections.max(list)
이 도구들은 데이터 처리 속도를 올려주는 친구들이랍니다.
2. 날짜와 시간: 시간을 마스터하라 ⏰
Java에서 날짜와 시간을 다루는 것은 굉장히 중요합니다.
틀히 일정관리, 로그 기록 등은 필수이죠.
🗓️ 클래식 날짜/시간 클래스
- Date : 날짜와 시간을 간단히 표현
- Calendar : 날짜 계산에 유용 (하지만, 요즘은 Java 8에서 도입된 java.time 패키지를 더 추천합니다.)
🌍 시간대 처리
- TimeZone 클래스를 사용하면 글로벌 애플리케이션에서 시간대를 쉽게 다룰 수 있습니다.
3. Random과 Scanner: 데이터 입력과 생성의 친구 🎲
🎲 난수 생성
게임 개발이나 암호화에서 랜덤한 숫자를 생성할 때, Random 클래스를 사용하세요!
Random random = new Random();
int number = random.nextInt(100); // 0~99 사이의 랜덤 숫자
🖊️ 사용자 입력처리
console 애플리케이션을 작성할 때, Scanner는 필수 도구 입니다.
Scanner scanner = new Scanner(System.in);
System.out.println("이름을 입력하세요: ");
String name = scanner.nextLine();
System.out.println("안녕하세요, " + name + "님!");
4. Stream API:데이터 흐름을 제어하라 🌊
Java 8부터 추가된 Stream API는 데이터를 처리하는 새로운 패러다임을 열었습니다.
스트림을 사용하면 데이터를 필터링, 매핑, 정렬 등을 간결하게 수행할 수 있습니다.
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.stream()
.filter(name -> name.startsWith("A"))
.forEach(System.out::println); // Alice
자 코드가 굉장히 깔끔하죠? 💡
5. Properties와 UUID: 설정 관리와 고유 ID 생성 📜
📜 설정 파일 관리
Properties 클래스를 사용하면 애플리케이션의 설정 정보를 쉽게 관리할 수 있습니다.
Properties properties = new Properties();
properties.load(new FileInputStream("config.properties"));
System.out.println(properties.getProperty("database.url"));
🆔 고유 ID 생성
UUID 클래스는 고유한 식별자를 생성할 때 사용됩니다.
UUID uniqueID = UUID.randomUUID();
System.out.println(uniqueID);
6. Optional: Null 포인터 예외의 해결사 🙅♀️
Java의 악명 높은 NullPointerException 문제를 해결하기 위해 등장한 클래스입니다.
Optional<String> optionalName = Optional.ofNullable(null);
optionalName.ifPresent(name -> System.out.println("Hello, " + name));
Null 체크를 간단히 해결하니, 코드의 안정성이 훨씬 높아집니다.