홈 › 고급 › 07 / 10

Java 21 모던 문법

var, record, 텍스트 블록, switch 식, 패턴 매칭, sealed
섹션 7진행 0 / 10

Java 21 모던 문법: var, record, 텍스트 블록, switch 식, 패턴 매칭, sealed

이 사이트의 레슨들은 이미 record 와 화살표 switch 를 쓰고 있습니다. 이번 레슨은 그 문법들을 정면으로 다룹니다. Java 8 이후 추가된 문법 중 실무 코드에 매일 등장하는 여섯 가지를 고르고, 각각 "무엇이 줄어드는가" 와 "어디까지 되는가" 를 실행으로 확인합니다. 마지막에 sealed 와 record 해체 패턴을 합쳐 결제 결과 처리를 if-else 없이 짜 봅니다.

1. 왜 배우는가

실무 프로젝트는 Java 21 로 돌아갑니다. 그런데 코드는 Java 8 식으로 쓰는 경우가 많습니다. getter·setter 만 있는 DTO 클래스가 50줄이고, instanceof 뒤에 캐스팅을 다시 하고, SQL 을 + 로 이어 붙입니다. 새 문법은 이 세 가지를 각각 한 줄, 한 식, 한 블록으로 줄입니다.

문법을 아는 것과 고르는 것은 다릅니다. var 를 어디에 쓰면 안 되는지, record 가 못 하는 것은 무엇인지, switch 식에서 default 를 빼도 되는 조건이 무엇인지를 알아야 코드 리뷰에서 근거를 댈 수 있습니다.

sealed 와 패턴 매칭은 설계 도구입니다. "결제 결과는 승인·거절·보류 셋뿐" 을 타입으로 선언하면, 넷째 경우를 추가할 때 빠뜨린 분기를 컴파일러가 전부 찾아 줍니다. 초급 07 의 enum 이 값의 집합을 닫았다면 sealed 는 타입의 집합을 닫습니다.