본문 바로가기

언어/Java

[ 자바 / Java ] 클래스와 변수의 이름을 지어보자.

반응형

Java에서는 변수명과 클래스명을 작성할 때 지켜야 할 규칙과 권장 사항이 있습니다. 이러한 규칙은 코드의 가독성을 높이고, 일관성을 유지하며, 오류를 줄이는 데 도움을 줍니다. 다음은 Java에서 변수명과 클래스명을 작성할 때의 규칙과 권장 사항에 대한 설명입니다.

1. 변수명 규칙

1. 필수 규칙 (문법적 규칙):

  1. 유효한 문자 사용:
    • 변수명은 문자(A-Z, a-z), 숫자(0-9), 밑줄(_), 달러 기호($)로 구성할 수 있습니다.
    • 예: myVariable, _tempVar, $price
  2. 숫자로 시작하지 않음:
    • 변수명은 숫자로 시작할 수 없습니다.
    • 올바른 예: var123
    • 잘못된 예: 123var
  3. 예약어 사용 금지:
    • 변수명은 Java의 예약어(키워드)를 사용할 수 없습니다.
    • 예: int, class, public, if 등은 변수명으로 사용할 수 없습니다.
  4. 대소문자 구분:
    • Java는 대소문자를 구분하므로, 변수명에서 대문자와 소문자를 구별해야 합니다.
    • 예: MyVarmyvar는 서로 다른 변수로 인식됩니다.

2. 권장 사항 (관습적 규칙):

  1. 낙타 표기법 (Camel Case):
    • 변수명은 일반적으로 낙타 표기법(camelCase)을 사용합니다. 즉, 첫 글자는 소문자로 시작하고, 이후 단어의 첫 글자는 대문자로 시작합니다.
    • 예: myVariable, totalAmount, numberOfStudents
  2. 의미 있는 이름 사용:
    • 변수명은 코드의 목적과 의미를 명확하게 나타내도록 의미 있는 이름을 사용합니다.
    • 예: totalSum, userName, currentTemperature
  3. 약어 및 축약어 지양:
    • 가능한 한 약어와 축약어를 사용하지 않고, 명확하고 풀어 쓴 형태를 사용하는 것이 좋습니다.
    • 예: counter 대신 cnt 사용은 피하는 것이 좋습니다.
  4. 일관된 명명 규칙 사용:
    • 프로젝트나 팀 내에서 일관된 명명 규칙을 따르는 것이 좋습니다. 이를 통해 코드의 일관성과 가독성이 높아집니다.
  5. 길이 적절하게 유지:
    • 변수명은 너무 짧지도 않고, 너무 길지도 않게 적절한 길이로 유지해야 합니다. 예를 들어, i는 간단한 반복자 변수로 적절하지만, 중요한 데이터의 경우 의미 있는 이름이 필요합니다.
    • 예: i (반복자), index (목록의 인덱스), isLoggedIn (로그인 상태)

2. 클래스명 규칙

1. 필수 규칙 (문법적 규칙):

  1. 유효한 문자 사용:
    • 클래스명은 문자(A-Z, a-z), 숫자(0-9), 밑줄(_), 달러 기호($)로 구성할 수 있습니다.
    • 예: MyClass, _TempClass, $PriceCalculator
  2. 숫자로 시작하지 않음:
    • 클래스명은 숫자로 시작할 수 없습니다.
    • 올바른 예: Class123
    • 잘못된 예: 123Class
  3. 예약어 사용 금지:
    • 클래스명은 Java의 예약어(키워드)를 사용할 수 없습니다.
    • 예: int, class, public, if 등은 클래스명으로 사용할 수 없습니다.
  4. 대소문자 구분:
    • Java는 대소문자를 구분하므로, 클래스명에서 대문자와 소문자를 구별해야 합니다.
    • 예: MyClassmyclass는 서로 다른 클래스로 인식됩니다.

2. 권장 사항 (관습적 규칙):

  1. 파스칼 표기법 (Pascal Case):
    • 클래스명은 일반적으로 파스칼 표기법(PascalCase)을 사용합니다. 즉, 각 단어의 첫 글자를 대문자로 시작합니다.
    • 예: MyClass, TotalAmount, NumberOfStudents
  2. 명사형 사용:
    • 클래스명은 보통 객체를 나타내므로, 명사형을 사용하는 것이 일반적입니다.
    • 예: User, Account, Product
  3. 의미 있는 이름 사용:
    • 클래스명은 클래스가 표현하는 개념이나 역할을 명확하게 나타내는 의미 있는 이름을 사용합니다.
    • 예: EmployeeManager, InvoiceProcessor, DataParser
  4. 약어 및 축약어 지양:
    • 가능한 한 약어와 축약어를 사용하지 않고, 명확하고 풀어 쓴 형태를 사용하는 것이 좋습니다.
    • 예: Customer 대신 Cust 사용은 피하는 것이 좋습니다.
  5. 일관된 명명 규칙 사용:
    • 프로젝트나 팀 내에서 일관된 명명 규칙을 따르는 것이 좋습니다. 이를 통해 코드의 일관성과 가독성이 높아집니다.

3. 예시 코드

다음은 위의 규칙을 적용한 자바 코드 예제입니다:

// 클래스명은 파스칼 표기법을 사용합니다.
public class EmployeeManager {

    // 변수명은 낙타 표기법을 사용합니다.
    private int employeeId;
    private String employeeName;
    private double salary;

    // 메서드명도 낙타 표기법을 사용하며, 의미를 명확히 합니다.
    public void setEmployeeId(int id) {
        this.employeeId = id;
    }

    public int getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeName(String name) {
        this.employeeName = name;
    }

    public String getEmployeeName() {
        return employeeName;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    public double getSalary() {
        return salary;
    }
}

이 예제에서 EmployeeManager 클래스는 파스칼 표기법을 사용하였고, 변수명과 메서드명은 낙타 표기법을 사용하여 일관성을 유지했습니다.

자바에서 변수명과 클래스명을 작성할 때 이러한 규칙을 따르면, 코드의 가독성과 유지 보수성이 크게 향상됩니다.

반응형