자바 변수 이해하기
변수의 종류와 특징
Java 프로그래밍 언어는 다음과 같은 종류의 변수를 정의합니다:
인스턴스 변수 (Non-Static Fields):
static
키워드 없이 선언된 필드입니다.- 각 객체마다 고유한 값을 가집니다.
- 예: `private int currentSpeed;
클래스 변수 (Static Fields):
static
키워드로 선언된 필드입니다.- 클래스당 하나의 복사본만 존재합니다.
- 모든 인스턴스가 공유합니다.
- 예: `public static int numberOfGears = 10;
로컬 변수 (Local Variables):
- 메서드 내에서 선언된 변수입니다.
- 해당 메서드 내에서만 접근 가능합니다.
- 예:
void calculateSpeed(int distance, int time){...}
매개변수 (Parameters):
- 메서드나 생성자의 입력으로 받는 값입니다.
- 예:
public void setSpeed(int speed) { ... }
올바른 변수명 작성법
- 변수 이름은 영문자, 숫자, 언더스코어(_), 또는 달러 기호($)로 시작해야 합니다.
- 첫 글자는 숫자가 될 수 없습니다.
- Java 키워드를 사용할 수 없습니다.
- 대소문자를 구분합니다.
- 공백을 포함할 수 없습니다.
변수명 작성 규칙
camelCase: 첫 번째 단어는 소문자로 시작하고, 나머지 단어들의 첫 글자는 대문자로 시작합니다. 예:
firstName
,totalAmount
의미 있는 이름 사용: 변수의 목적이나 역할을 잘 설명하는 이름을 사용하세요. 예:
employSalary
대신annualIncome
약어 사용: 널리 사용되는 약어는 사용할 수 있지만, 팀 내에서 일관되게 사용해야 합니다. 예:
avg
(average),max
(maximum)상수: 전부 대문자로 작성하고 여러 단어가 있을 경우 언더바(_)로 구분합니다. 예:
MAX_VALUE
,PI
클래스 필드: 일반적으로 private 접근 지정자를 사용하고, getter/setter 메서드로 접근합니다.
로컬 변수: camelCase를 사용합니다.
매개변수: camelCase를 사용합니다.
변수 초기화 가이드
필드(Fields)는 자동으로 기본값으로 초기화됩니다:
- 정수형: 0
- 부동소수점형: 0.0
- boolean: false
- 참조형: null
로컬 변수는 자동으로 초기화되지 않습니다. 사용 전에 반드시 초기화해야 합니다.
필드와 로컬 변수 모두 선언 시 직접 초기화할 수 있습니다:
int x = 10;
String name = "John";
변수 범위(Scope) 이해하기
- 클래스 변수: 클래스 전체에서 접근 가능
- 인스턴스 변수: 해당 인스턴스에서 접근 가능
- 로컬 변수: 선언된 블록 내에서만 접근 가능
- 매개변수: 해당 메서드 내에서만 접근 가능
final 변수 (Final Variables)
final
키워드를 사용하여 변수를 읽기 전용으로 만들 수 있습니다:
final int MAX_SIZE = 100;
변수 이름 짓기의 중요성
- 코드 가독성 향상: 의미 있는 이름은 코드의 의도를 빠르게 파악할 수 있게 합니다.
- 버그 감소: 명확한 이름은 실수로 인한 오류를 줄입니다.
- 유지보수성 향상: 다른 개발자가 코드를 이해하고 수정하기 쉬워집니다.
- 팀 협업: 일관된 명명 규칙은 팀원 간의 커뮤니케이션을 돕습니다.
정리
Java에서 변수를 효과적으로 사용하기 위해서는 올바른 자료형 선택, 명확한 이름 짓기, 적절한 범위 설정 등이 중요합니다. 이러한 관행을 따르면 코드의 품질을 높이고, 장기적인 유지보수성을 향상시킬 수 있습니다. 또한, 프로젝트나 팀의 코딩 스타일에 맞춰 일관된 방식으로 변수를 관리하는 것이 좋습니다. 변수 이름 짓기는 코드의 가독성과 유지보수성을 크게 향상시키는 중요한 부이므로, 항상 의미 있고 일관된 이름을 사용하는 것이 좋습니다.
편히 모아진 글 보시려면 아래 위키독스 링크 >>
https://wikidocs.net/book/17111
'JAVA' 카테고리의 다른 글
정수리터럴, 부동소수점 리터럴 [코딩백과 with JAVA] (1) | 2024.12.20 |
---|---|
리터럴과 원시 타입 변수 초기화 [코딩백과 with JAVA] (0) | 2024.12.20 |
원시 타입 변수란? [코딩백과 with Java] (0) | 2024.12.20 |
Java 클래스 정의에 대해 알아보기 (1) | 2024.12.17 |
Part&Chapter 목록 | [Java The Complete Reference] 12th Edition - 재발자의 번역 프로젝트 (0) | 2024.11.08 |