🚀 자바(Java) 카멜(Camel Case) ↔ 언더스코어(Snake Case) 변환 방법 정리
(최종 업데이트: 2026년 1월 15일)
자바(Java) 개발을 하다 보면 카멜 표기법(Camel Case)과 언더스코어 / 스네이크 표기법(Snake Case) 간의 변환이 필요한 경우가 매우 많습니다. 특히 DB 컬럼명, JSON 키, API 응답 데이터를 다룰 때 표기법 변환은 거의 필수라고 볼 수 있습니다.
이 글에서는 Google Guava 라이브러리의 CaseFormat을 사용해 카멜 ↔ 언더스코어 변환을 가장 간단하고 안정적으로 처리하는 방법을 예제 코드와 함께 정리합니다.
🧩 1. 언더스코어(Snake Case) → 카멜(Camel Case)
데이터베이스 컬럼명이나 legacy 시스템에서는 lower_underscore 방식이 자주 사용됩니다. 이를 자바 변수명 규칙에 맞는 lowerCamel 방식으로 변환해 보겠습니다.
💡 사용 라이브러리
- com.google.guava:guava
- CaseFormat 클래스 활용
import com.google.common.base.CaseFormat;
public class Test {
public static void main(String[] args) {
String str = "frst_wrtng_dtm";
System.out.println("before : " + str);
// 언더스코어 → 카멜 변환
String camelName =
CaseFormat.LOWER_UNDERSCORE.to(
CaseFormat.LOWER_CAMEL, str);
System.out.println("after : " + camelName);
}
}
before : frst_wrtng_dtm after : frstWrtngDtm
🔁 2. 카멜(Camel Case) → 언더스코어(Snake Case)
반대로 자바 객체나 DTO의 필드명을 DB 컬럼명 또는 API 규격에 맞추기 위해 카멜 → 언더스코어 변환이 필요한 경우도 많습니다.
import com.google.common.base.CaseFormat;
public class Test {
public static void main(String[] args) {
String str = "frstWrtngDtm";
System.out.println("before : " + str);
// 카멜 → 언더스코어 변환
String underscoreName =
CaseFormat.LOWER_CAMEL.to(
CaseFormat.LOWER_UNDERSCORE, str);
System.out.println("after : " + underscoreName);
}
}
before : frstWrtngDtm after : frst_wrtng_dtm
📌 정리 및 실무 팁
- ✔ CaseFormat은 표기법 변환을 가장 안전하게 처리할 수 있는 방법
- ✔ 정규식 직접 처리보다 가독성과 유지보수성이 뛰어남
- ✔ DB ↔ Java ↔ API 변환 로직에 적극 추천
- ✔ 실무에서는 공통 유틸 클래스로 분리해두면 매우 편리
자바 카멜 언더스코어 변환, Camel Case Snake Case Java 관련해서 가장 많이 사용되는 방식이니 실무에 바로 적용해 보시길 바랍니다.
댓글
댓글 쓰기