Java함수형과 현대 Java

record enum과 현대 Java 문법

현대 Java에서 자주 만나는 `record`, `enum`, switch expression 같은 문법이 어떤 문제를 줄이는지 정리합니다.

마지막 수정 2026년 3월 22일

기본 패턴

java
record Point(int x, int y) {}

enum Role {
    ADMIN, USER
}

설명

  • record는 단순 데이터 묶음을 더 적은 보일러플레이트로 표현하기 위한 문법입니다. 생성자, 접근자, equals, hashCode, toString을 자동으로 제공해 데이터 캐리어 성격의 클래스를 훨씬 간단하게 만듭니다.
  • enum은 고정된 값 집합을 타입으로 만드는 도구입니다. 문자열 상수보다 훨씬 안전하고, switch와 함께 쓸 때도 의도가 더 분명합니다.
  • switch expression은 분기문을 값으로 다루게 해 줍니다. 상태를 다른 값으로 매핑하는 코드에서 예전 switch보다 훨씬 표현력이 좋습니다.
  • 현대 Java 문법의 공통점은 "예전에도 할 수 있었지만 장황했던 코드"를 더 의도 중심으로 바꾸는 데 있습니다.
  • 그래서 Java를 오래된 문법 이미지로만 보면 최근 코드를 읽을 때 오히려 낯설 수 있습니다. 현대 Java 카드는 언어가 어떻게 진화했는지 감각을 보완하는 역할을 합니다.

빠른 정리

문법잘 맞는 상황
record단순 데이터 묶음
enum고정된 상태 집합
switch expression값을 반환하는 깔끔한 분기
공통 가치보일러플레이트 감소와 의도 명확화
학습 포인트예전 Java 스타일과 현대 문법 차이 이해

주의할 점

현대 Java 문법은 코드를 더 짧게 만들지만, 무조건 최신 문법만 쓰는 것이 항상 좋은 것은 아닙니다. 팀 버전과 런타임 환경, 코드베이스 일관성을 함께 보고 선택하는 편이 좋습니다.

참고 링크

3 sources