본문 바로가기

메뉴135

[JAVA] try-with-resources와 AutoCloseable 인터페이스 [JAVA] try-with-resources와 AutoCloseable 인터페이스 자바 7에서 도입된 try-with-resources는 자원 관리를 훨씬 쉽고 안전하게 만들어주는 기능이다.기존의 try-finally 구문을 대체하며, 코드의 가독성과 안정성을 크게 향상시킨다.  기존 방식의 문제점전통적인 자원 관리 방식은 다음과 같은 문제가 있다:FileInputStream fis = null;try { fis = new FileInputStream("file.txt"); // 파일 처리 로직} catch (IOException e) { // 예외 처리} finally { if (fis != null) { try { fis.close(); .. 2024. 11. 4.
[JAVA] 직렬화(Serializable)와 역직렬화 [JAVA] 직렬화(Serializable)와 역직렬화  직렬화란?자바 직렬화는 객체를 바이트 스트림으로 변환하는 과정이다. 역직렬화는 그 반대로, 바이트 스트림을 객체로 복원하는 과정이다.주로 다음과 같은 상황에서 사용한다:객체를 파일로 저장할 때네트워크로 객체를 전송할 때캐시할 때클립보드에 복사할 때 기본 사용법직렬화 가능한 클래스 만들기public class User implements Serializable { private String name; private int age; private String email; // 생성자, getter, setter 생략} 객체 직렬화하기User user = new User("John", 30, "john@example.com");//.. 2024. 11. 3.
[JAVA] equals()와 hashCode() 메서드 [JAVA] equals()와 hashCode() 메서드  Java에서 equals()와 hashCode() 메서드는 객체의 동등성 비교와 해시 기반 컬렉션 사용에 매우 중요한 역할을 다. 이 두 메서드를 제대로 이해하고 구현하지 않으면 예상치 못한 버그가 발생할 수 있다.이번 글에서는 두 메서드의 올바른 구현 방법과 주의사항에 대해 알아보자.  equals() 메서드equals() 메서드의 기본 규칙equals() 메서드는 다음 다섯 가지 규칙을 만족해야 합니다:반사성: x.equals(x)는 항상 true대칭성: x.equals(y)가 true이면 y.equals(x)도 true추이성: x.equals(y)가 true이고 y.equals(z)가 true이면 x.equals(z)도 true일관성: x.. 2024. 11. 2.
[JAVA] Stream의 map과 flatMap 차이 [JAVA] Stream의 map과 flatMap 차이  Java Stream API를 사용하다 보면 자주 마주치게 되는 map()과 flatMap() 메서드.얼핏 비슷해 보이는 이 두 메서드의 차이점을 정확히 이해하기 위한 글입니다.. map() 메서드 이해하기map()은 스트림의 각 요소를 변환하여 새로운 요소로 매핑하는 중간 연산입니다. 1:1 매핑이라고 생각하면 됩니다. 기본적인 map() 사용 예제List names = Arrays.asList("john", "jane", "mike");// 모든 이름을 대문자로 변환List upperNames = names.stream() .map(String::toUpperCase) .collect(Collectors.toList());System.. 2024. 11. 1.