본문 바로가기
Language/Java

[JAVA] Java의 명명 규칙(Naming Convention) 완벽 정리 : 협업의 시작

by Papa Martino V 2026. 1. 14.
728x90

Java의 명명 규칙(Naming Convention)
Java의 명명 규칙(Naming Convention)

 

소프트웨어 개발 과정에서 코드를 작성하는 시간보다 작성된 코드를 읽고 해석하는 시간이 훨씬 더 길다는 사실을 알고 계셨나요? 자바(Java)는 전 세계적으로 가장 많이 쓰이는 언어 중 하나인 만큼, 수많은 개발자가 함께 코드를 공유합니다. 이때 서로 약속된 규칙 없이 제각각 이름을 붙인다면 코드는 순식간에 난해해질 것입니다. 오늘은 자바 개발자라면 반드시 지켜야 할 명명 규칙(Naming Convention)의 정석을 다뤄보겠습니다.


1. 자바 명명 규칙이 왜 중요한가?

자바의 명명 규칙은 단순히 '예쁘게' 보이기 위함이 아닙니다. 규칙을 준수함으로써 얻는 실질적인 이점은 다음과 같습니다.

  • 가독성 향상: 코드를 처음 보는 사람도 이름만 보고 그것이 클래스인지, 변수인지, 상수인지 즉시 파악할 수 있습니다.
  • 유지보수 비용 절감: 명확한 이름은 주석의 필요성을 줄여주며, 버그 수정 및 기능 확장 시 시간을 단축시킵니다.
  • 표준화된 협업: 오픈 소스 프로젝트나 기업용 솔루션 개발 시 전 세계 개발자들과 원활하게 소통할 수 있는 기반이 됩니다.

2. 핵심 명명 규칙: CamelCase vs Snake_Case

자바에서는 기본적으로 두 단어 이상이 결합될 때 대문자로 구분하는 CamelCase(낙타 표기법)를 주로 사용합니다. 하지만 사용되는 대상에 따라 세부적인 규칙이 달라집니다.

① 클래스 및 인터페이스 (PascalCase)

첫 글자를 대문자로 시작하며, 새로운 단어가 나올 때마다 대문자로 구분합니다. 주로 명사형으로 이름을 짓습니다.

  • public class UserAccount { }
  • public interface PaymentService { }

② 메서드 및 변수 (lowerCamelCase)

첫 글자는 소문자로 시작하되, 이후 단어의 첫 글자는 대문자를 사용합니다. 메서드는 동작을 나타내므로 주로 동사로 시작하는 것이 관례입니다.

  • 변수: String userName;
  • 메서드: public void calculateBalance() { }

③ 상수 (SCREAMING_SNAKE_CASE)

모든 글자를 대문자로 작성하며, 단어 사이는 언더바(_)로 구분합니다. static final 키워드와 함께 사용됩니다.

  • public static final int MAX_RETRY_COUNT = 5;

④ 패키지 (Lowercase)

모든 글자를 소문자로 작성합니다. 가급적 짧고 의미 있는 단어를 사용하며, 조직의 도메인 이름을 역순으로 사용하는 것이 표준입니다.

  • package com.google.search.util;

3. 자바 명명 규칙 요약 비교표

각 식별자의 성격에 따른 표기법을 한눈에 비교해 보겠습니다.

대상 (Identifier) 표기법 (Convention) 예시 (Example) 성격 (Part of Speech)
클래스 (Class) PascalCase MemberService 명사
인터페이스 (Interface) PascalCase Runnable, Serializable 명사 또는 형용사
메서드 (Method) lowerCamelCase findByName() 동사
변수 (Variable) lowerCamelCase studentAge 명사
상수 (Constant) ALL_UPPERCASE MIN_WIDTH 명사
패키지 (Package) lowercase com.myapp.core 명사

4. 전문적인 네이밍을 위한 추가 팁

규칙을 아는 것보다 중요한 것은 '의미'를 담는 것입니다. 전문가 수준의 네이밍을 위해 다음을 고려하세요.

  • 축약어 사용 자제: uIdx 보다는 userIndex가 훨씬 명확합니다. 누구나 이해할 수 있는 보편적인 축약어가 아니라면 풀 네임을 쓰세요.
  • 불필요한 접두어 피하기: 자바에서는 클래스 이름에 CUser, 인터페이스에 IPayment와 같이 타입을 나타내는 접두어를 붙이지 않는 것을 권장합니다.
  • 컬렉션은 복수형으로: 리스트나 배열 형태의 변수는 users, itemList와 같이 복수형을 사용하여 여러 개의 데이터가 있음을 암시하세요.
  • 불리언(boolean)은 질문하듯이: isAvailable, hasAccount, shouldRun 처럼 참/거짓을 묻는 형태로 지으면 코드의 가독성이 급격히 좋아집니다.

5. 결론: 좋은 이름은 최고의 주석이다

자바의 명명 규칙은 단순한 제약이 아니라, 전 세계 개발자들과 소통하기 위한 공통 언어입니다. 코드 한 줄을 적더라도 그 속에 담긴 의미가 명확하게 전달될 수 있도록 고민하는 습관을 가져보세요. 명명 규칙을 잘 지킨 코드는 주석 한 줄 없이도 그 자체로 훌륭한 설명서가 될 것입니다.


참고 문헌 및 출처

 

728x90