Coding Standard

[Coding Standard] DB 시간 저장: Instant를 어떻게 같은 시점으로 왕복할 것인가

애플리케이션 시간 표준에서 실제 사건의 시점은 UTC Instant로 표현한다고 정했다. 하지만 Java의 Instant를 그대로 필드에 썼다고 DB 왕복까지 같은 시점이 되는 것은 아니다. 컬럼 타입, 연결 세션 시간대, 저장 정밀도 중 하나만 어긋나도 저장 전과 조회 후 값이 ...

그래프에서 보기 update 2026-10-25 12:00 - · -

[Java] 상속 vs 합성: 실무에서 어떻게 선택할까?

“상속은 나쁘다”, “합성이 항상 우월하다”는 말을 자주 듣는다. 하지만 실무에서는 이런 이분법적 사고가 오히려 비효율적일 수 있다. 이번 글에서는 상속(Inheritance)과 합성(Composition)을 실무에서 어떻게 선택하고 활용하는지, 실제 경험을 바탕으로 정리해보겠다.

그래프에서 보기 update 2026-10-19 20:00 - · -

[Java] Null-free 객체 설계와 생성 철학 정리

이번 글은 “애플리케이션 내부에는 null이 없다” 라는 전제에서 출발한다. 여기서 「내부」는 객체가 한 번 만들어진 뒤의 세계다. null은 주로 바깥 — 사용자가 보낸 요청에 담겨 들어온 값, DB에서 읽은 값처럼 내가 만들지 않은 값 — 에서 들어오는데, 그 값이 객체로 만들...

그래프에서 보기 update 2026-10-19 20:00 - · -

[Java] 팩토리 메소드 패턴으로 Service 레이어 가독성 개선하기

비즈니스 로직이 복잡해 지면서 Service 레이어(서비스 계층과 같은 말)의 코드가 복잡해지기 시작했다. 특히 DTO를 VO로 변환할 때 문제가 두드러졌다. 해당 문제는 로직의 가독성을 크게 떨어뜨렸다. DTO를 왜 VO로 바꿔 쓰는지는 이 글이 다루지 않는다. 이 글은 「바꾸기...

그래프에서 보기 update 2026-10-19 20:00 - · -