Java 네이밍 컨벤션

이경헌·2025년 4월 20일
0

가독성과 유지보수성을 위한 네이밍 규칙 정리

일관된 네이밍은 협업의 기본입니다. 이 글에서는 Java 개발 시 적용할 수 있는 네이밍 컨벤션 규칙을 사례와 함께 정리했습니다.


📌 공통 규칙

  • 대소문자 구분
  • 길이 제한 없음
  • 예약어 사용 금지
  • 숫자로 시작 금지
  • 특수문자는 _, $만 허용
  • 파스칼(PascalCase), 카멜(camelCase) 표기법 사용
  • 반의어가 있으면 반드시 대응 개념으로 사용

📂 1. 프로젝트 (Project)

  • 대소문자 구분 없이 시작 가능
  • 가독성을 고려하여 프로젝트 명은 의미 있는 단어로 구성
예) MapleStory, Eventor 등

📦 2. 패키지 (Package)

  • 전체 소문자를 원칙으로 함
  • 클래스명과 구분을 명확히 하기 위함
  • 구조는 일반적으로 다음 형식을 따름:
[com].[회사명].[프로젝트].[기능].[세부기능]

✅ 예시

  • 좋은 예: com.nexon.maplestory.member.object
  • 나쁜 예: com.nexon.maplestoryMemberObject

🏷️ 3. 클래스 (Class)

  • 파스칼 표기법(PascalCase)
  • 명사로 시작하는 이름

✅ 예시

HelloWorld, TestWorld, ByeClass

🔌 4. 인터페이스 (Interface)

  • 접두사/접미사 없이 파스칼 표기법
  • 형용사(adjective) 형태로 표현

✅ 예시

Runnable, Remote, Serializable

🧰 5. 메서드 (Methods)

  • 카멜 표기법(camelCase)
  • 동사로 시작

📚 세부 네이밍 규칙

용도규칙예시
속성 접근get, setgetName(), setEmail()
데이터 조회findfindMemberById()
데이터 입력inputinputData()
데이터 수정updateupdateProfile()
데이터 삭제deletedeletePost()
데이터 초기화initialize / initinitializePage(), initCache()
boolean 반환isisEnabled()
데이터 로드loadloadSettings()
존재 여부 확인hashasPermission()
새 객체 생성createcreateAccount()
타입 변환totoEntity(), toString()
복수 반환접미사 sgetMembers()
기준 조건 명시BygetUserByEmail()

🧮 6. 변수 (Variable)

  • 소문자로 시작
  • 카멜 표기법(camelCase) 사용
  • 의미 있는 이름 사용
firstName, lastName, birthday

🧱 7. 상수 (Constant)

  • 모두 대문자
  • 스네이크 케이스(SNAKE_CASE) 사용
MAX_SIZE, DEFAULT_TIMEOUT, MAX_PRIORITY

✍️ 마무리

코드의 질은 이해하기 쉬운 이름에서 시작됩니다.
이 네이밍 규칙은 유지보수, 코드 리뷰, 협업에서 큰 차이를 만들어냅니다.

필요시 이 글을 참고하거나 팀 내 컨벤션 문서로 활용해보세요!


💬 참고 링크

0개의 댓글