티스토리 뷰

Java Naming Conventions

자바 명명 방식은 개발자들이 변수명, 클래스명, 패키지명, 상수명 등 이름을 명명할 때 따라지기를 바라는 규칙이다. 절대 법처럼 완전히 규제되는 것이 아니라 지켰으면 좋겠다는 의미이기 때문에 java naming rule이 아니라 java naming convention으로 말해진다. 이러한 convention들은 여러 해외 개발사이트 및 선배 개발자분들이 편해서 두루두루 사용된 것이다.

java naming convention을 사용하면 우리가 얻게 되는 이점에는 무엇이 있을까?

편하다. 이러한 명명방식을 사용하게 되면 여러 개발자들과 협업을 함에 있어서 편리하다. 누가봐도 이 변수는 이걸 뜻하는 구나 라고 다들 쉽게 알아차릴 수 있다.

명명 방식

  • Class

    • 반드시 대문자로 시작하는 명사여야 한다. 적절한 단어를 선택하고, 복합어를 사용하지 않는다.

      public class Car{
      //code
      }
  • Interface

    • 대문자로 시작하며 형용사적인 것으로 이름을 지어야한다.(ex: Runnable, Remote, ActionListener) 인턴페이스도 마찬가지로 적절한 단어를 선택하고, 복합어는 사용하지 않는다.

      interface Runnable{
      //code
      }
  • Method

    • 소문자로 시작하고 동사여야 한다.(ex: main(), println(), print()) 만약 단어가 복합어라면 소문자로 시작해서 단어가 바뀔 때 대문자를 사용하여야 한다(camel-case). ex(actionPerforme())

      class Car{
      //method
      void accelerator(){
      //code
      }
      }
  • Variable

    • 소문자로 시작하고, 특수문자로 시작해서는 안된다. 복합어를 사용한다면 camel-case를 따르면 된다. 되도록이면 한 문자 변수명은 피한다.(ex: x, y, z)

      class Car{
      //variable
      int velocity;
      //method
      void accelerator(){
      //code
      }
      }
  • Package

    • 소문자여야만 한다.(ex: java, lang) 만약 여러 단어를 포함한다면, 점을 이용하여 구분한다.(ex: java.util, java.lang)

      pacakge com.javapoint; //package
      class Car{
      //variable
      int velocity;
      //method
      void accelerator(){
      //code
      }
      }
  • Constant

    • 오로지 대문자로만 이루어져야 한다.(ex: VELOCITY, GEAR) 만약 여러 단어로 이루어져 있다면 _를 이용하여서 구분한다. (ex: MAX_VELOCITY)

      class Car{
      //variable
      int velocity;
      static final int MAX_VELOCITY = 10;
      //method
      void accelerator(){
      //code
      }
      }
      
  • CamelCase

    • Java는 camel-case 문법을 따른다. camel-case는 단어가 두개 이상 합성되어있으면 두번째 단어는 대문자로 시작한다는 것이다. (ex: actionPerforme(), firstName, ActionListner, EventListener, etc...)
댓글