티스토리 뷰
Java 변수: 기본 문법 및 개념
변수란?
Java의 변수는 프로그램 실행 중에 변경될 수 있는 데이터를 보관하는 컨테이너입니다.
데이터를 저장하고 검색할 수 있는 메모리의 명명된 저장 위치로 생각하십시오.
변수 선언 및 초기화
선언: 변수의 유형과 이름을 지정하여 변수를 정의하는 경우입니다.
초기화: 변수에 처음으로 값을 할당하는 단계입니다.
type variableName; // 선언
variableName = value; // 초기화
// 두가지 동시 수행
type variableName = value; // 선언 및 초기화
예시
int age; // 선언
age = 25; // 초기화
// 두가지 동시 수행
int age = 25; // 선언 및 초기화
Java의 변수 유형
- 기본 유형: 여기에는 int, float, double, char, boolean 등이 포함됩니다. 기본 데이터 유형을 저장합니다.
- 참조 유형: 여기에는 객체, 배열 및 문자열이 포함됩니다. 메모리 위치에 대한 참조를 저장합니다.
기본 유형 예시
int count = 10; // 정수
double price = 29.99; // 부동소수점 숫자
char letter = 'A'; // 문자
boolean isActive = true; // Boolean
참조 유형 예시
String name = "John Doe"; // 문자열
int[] numbers = {1, 2, 3, 4}; // 정수 배열
변수 명명 규칙
의미 있는 이름을 사용하세요. 변수 이름은 저장하는 데이터를 명확하게 설명해야 합니다.
- 카멜 표기법: 소문자로 시작하고 각 후속 단어의 첫 글자를 대문자로 표시합니다.
- 예약 키워드 피하기: Java에는 변수 이름으로 사용할 수 없는 'int', 'class' 등과 같은 예약 키워드가 있습니다.
- 대소문자 구분: 'Age'와 'age'는 서로 다른 변수라는 점을 기억하세요.
좋은 예시
int studentAge;
double accountBalance;
String customerName;
나쁜 예시
int a; // 설명적이지 않음
double bal; // 명확하지 않음
String s; // 너무 짧음
가변 범위
변수의 범위는 코드에서 변수에 액세스할 수 있는 위치를 정의합니다. 변수는 다음과 같습니다.
- 로컬: 메서드나 블록 내부에 선언되며 해당 메서드나 블록 내에서만 액세스할 수 있습니다.
- 인스턴스: 클래스에 선언되었지만 메서드 외부에 선언된 비정적 변수입니다.
- 클래스/정적: 클래스의 인스턴스를 만들지 않고도 액세스할 수 있는 클래스에서 static 키워드로 선언됩니다.
public class Example {
int instanceVar; // Instance variable
static int classVar; // Class/Static variable
public void method() {
int localVar = 10; // Local variable
}
}
Good 사용법
- 일관된 이름 지정: 코드 전체에서 일관되고 의미 있는 이름을 사용하십시오.
- 범위 최소화: 오류 가능성을 줄이기 위해 가능한 가장 작은 범위에서 변수를 선언합니다.
- 변수 초기화: 예상치 못한 동작을 방지하려면 항상 변수를 초기화하세요.
예시
public class Example {
public void calculateArea() {
double radius = 7.5;
double area = Math.PI * radius * radius;
System.out.println("Area: " + area);
}
}
Bad 사용법
- 초기화되지 않은 변수: 변수를 초기화하기 전에 사용하면 런타임 오류가 발생할 수 있습니다.
- 잘못된 이름 지정: 설명적이지 않은 이름을 사용하면 코드를 이해하고 유지 관리하기가 어렵습니다.
- 과도한 범위: 필요한 것보다 더 큰 범위에서 변수를 선언하면 의도하지 않은 부작용이 발생할 수 있습니다.
예시
public class Example {
double radius; // Instance variable, but better as a local variable in this context
public void calculateArea() {
radius = 7.5;
double area = Math.PI * radius * radius;
System.out.println("Area: " + area);
}
}
반응형