피드로 돌아가기
We Should Write Java Code Differently: Less Language, More Business
Dev.toDev.to
Backend

비즈니스 로직을 가리는 기술적 소음 제거, Java 설계의 패러다임 전환

We Should Write Java Code Differently: Less Language, More Business

Sergiy Yevtushenko2026년 4월 6일5intermediate

Context

비즈니스 로직보다 null 체크, 예외 처리, 로깅 등 기술적 보일러플레이트가 코드의 80%를 점유하는 구조. 개발자가 코드를 읽을 때 '무엇을 하는가'보다 '어떻게 작동하는가'라는 프레임워크 구현체 파악에 더 많은 시간을 소모하는 한계.

Technical Solution

  • Result, Option, Promise 등 반환 타입을 통해 성공, 실패, 부재, 비동기 상태를 명시적으로 정의하는 타입 시스템 설계
  • flatMap, all() 등 고정된 의미를 가진 컴포지션 연산자를 도입하여 비즈니스 단계 간의 관계와 의존성을 구조적으로 표현
  • sealed interface를 활용해 모든 실패 모드를 열거형 타입으로 정의하여 비즈니스 실패 도메인을 명확히 가시화
  • Sequencer, Fork-Join, Leaf 등 비즈니스 프로세스에 매핑되는 표준화된 구조적 패턴 선택 방식 채택
  • Record, Lambda, Pattern Matching 등 비즈니스 표현에 필수적인 최소한의 언어 서브셋만 활용하는 제약 전략

Key Takeaway

코드의 표현력은 언어의 화려한 문법이 아닌 도메인 모델링에서 나오며, 기술적 세부 사항을 런타임과 타입 시스템으로 추상화할 때 코드 자체가 실행 가능한 비즈니스 명세서가 됨.


비즈니스 로직 구현 시 프레임워크 의존적인 예외 처리 대신 Result 타입을 도입하고, 복잡한 제어 흐름을 표준화된 컴포지션 연산자로 대체하여 도메인 가독성을 확보할 것

원문 읽기