| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- JVM
- 개발자취업
- 자료구조
- 파이썬
- 코딩인터뷰
- 코딩공부
- 멀티스레드
- 백준
- 알고리즘
- Java
- 프로그래밍기초
- 가비지컬렉션
- 자바개발
- 알고리즘공부
- 코딩테스트
- 코딩테스트준비
- 개발공부
- 예외처리
- HashMap
- 코딩테스트팁
- 자바프로그래밍
- 메모리관리
- 정렬
- 객체지향
- 자바
- 자바기초
- 프로그래머스
- 자바공부
- 클린코드
- 개발자팁
- Today
- Total
목록2025/10/12 (2)
코드 한 줄의 기록
개발을 하다 보면 클래스가 점점 많아지고 프로젝트가 복잡해집니다. 이때 코드를 어떻게 정리하고 관리할지가 중요한 문제가 되는데요. 저도 처음 Java를 배울 때 이 부분이 많이 헷갈렸습니다. 오늘은 Java의 패키지와 모듈 시스템, 그리고 접근성에 대해 함께 알아보면서 효율적인 코드 구조화 방법을 정리해보겠습니다.패키지(Package): Java의 기본 구조화 도구패키지란 무엇인가?패키지는 비슷한 성격의 클래스들을 모아 놓은 자바의 디렉터리입니다. 마치 컴퓨터에서 파일을 폴더별로 정리하듯이, Java에서는 관련된 클래스들을 패키지로 분류해 관리합니다.package com.example.userservice;public class User { private String name; private ..
가장 먼저 결론부터 말하면, “도메인 모델의 동등성은 일관되고 예측 가능해야 하며, 컬렉션에 넣는 순간부터 계약을 끝까지 지켜야 한다.” 이 문장을 머리에 박아두면 equals/hashCode/toString을 설계할 때 흔들리지 않는다. 아래 내용은 실무에서 부딪혔던 함정과 Lombok으로 편하게 작성할 때 생기는 미묘한 위험까지 담았다.왜 equals/hashCode/toString이 중요한가자바에서 객체는 기본적으로 참조 동일성(==)을 기준으로 비교된다. 하지만 비즈니스 로직에서는 “같은 의미”를 갖는 객체를 값으로 다루고 싶을 때가 많다. 예를 들어, 같은 주민등록번호의 User는 같은 사람이다. 이때 equals와 hashCode를 “의미 기반”으로 재정의하면, Set이나 Map 같은 컬렉션이..