일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- SQLD
- Port
- ip 할당
- 네트워크
- next.js
- class
- Packet
- 오라클
- OSI
- frame
- Layer2
- Router
- 포트
- 함수형
- Linux
- 스위치
- Layer
- 자격증
- Mac
- 프로그래밍
- Python
- Layer4
- dhcp
- network
- oracle
- nextjs
- 자바8
- 자바
- Next
- java
- Today
- Total
BEER&DEV
자바의 전역 변수(Global Variable): 초보자를 위한 꼬리의 꼬리를 무는 자바 본문
자바에서 전역 변수(Global Variable)는 클래스 내부에서 선언되지 않고, 클래스 외부에 선언된 변수를 의미합니다. 전역 변수는 해당 클래스의 모든 메소드에서 접근 가능하며, 프로그램의 어느 곳에서나 사용할 수 있습니다. 이번 글에서는 초보자를 위해 자바의 전역 변수에 대해 예시와 함께 자세히 설명하겠습니다.
1. 전역 변수의 선언과 사용
전역 변수는 클래스 외부에 선언되며, 클래스 내부의 모든 메소드에서 접근할 수 있습니다. 전역 변수는 클래스 멤버 변수로 선언되어야 합니다.
예를 들어, 다음과 같이 전역 변수를 선언할 수 있습니다:
public class MyClass {
public int globalVariable;
// ...
}
위의 예시에서 `globalVariable`은 `MyClass` 클래스의 전역 변수로 선언되었습니다. 이 변수는 해당 클래스의 모든 메소드에서 접근 가능합니다.
2. 전역 변수의 활용 예시
- 데이터 공유: 전역 변수는 여러 메소드에서 동일한 데이터를 공유할 수 있습니다. 이를 통해 데이터의 일관성을 유지하고, 각 메소드에서 동일한 값을 사용할 수 있습니다.
public class Calculator {
public int result;
public void add(int a, int b) {
result = a + b;
}
public void multiply(int a) {
result = result * a;
}
public void printResult() {
System.out.println("Result: " + result);
}
}
위의 예시에서 `result`는 `Calculator` 클래스의 전역 변수로 선언되었습니다. `add()` 메소드는 인자로 전달받은 두 수를 더한 값을 `result`에 저장하고, `multiply()` 메소드는 인자로 전달받은 수와 `result`를 곱하여 다시 `result`에 저장합니다. `printResult()` 메소드는 `result`의 값을 출력합니다. 이때 `result` 전역 변수를 통해 각 메소드가 동일한 데이터를 공유하고 사용합니다.
- 상태 유지: 전역 변수는 객체의 상태를 유지할 때 유용합니다. 객체의 여러 메소드에서 동일한 상태 정보를 사용해야 할 때, 전역 변수를 활용하여 객체의 상태를 유지할 수 있습니다.
public class Counter {
public static int count;
public void increment() {
count++;
}
public void decrement() {
count--;
}
public void printCount() {
System.out.println("Count: " + count);
}
}
위의 예시에서 `count`는 `Counter` 클래스의 전역 변수로 선언되었습니다. `increment()` 메소드는 `count` 값을 1씩 증가시키고, `decrement()` 메소드는 `count` 값을 1씩 감소시킵니다. `printCount()` 메소드는 `count`의 값을 출력합니다. 이때 `count` 전역 변수를 통해 객체의 상태를 유지하고 갱신합니다.
3. 전역 변수의 사용에 주의할 점
- 상태 변동성: 전역 변수를 사용하면 상태 변동성 문제가 발생할 수 있습니다. 여러 메소드에서 동시에 전역 변수에 접근하여 값을 변경할 경우, 의도하지 않은 결과가 발생할 수 있습니다. 이를 방지하기 위해 스레드 동기화나 상호 배제 등의 방법을 사용해야 합니다.
- 의존성: 전역 변수는 다른 클래스나 메소드들과의 의존성을 증가시킬 수 있습니다. 전역 변수의 변경이 다른 부분에 영향을 줄 수 있으며, 이는 코드의 이해와 유지보수를 어렵게 할 수 있습니다. 따라서 전역 변수의 사용은 신중하게 고려되어야 합니다.
정리하자면, 자바의 전역 변수는 클래스 외부에 선언된 변수로, 클래스 내부의 모든 메소드에서 접근 가능합니다. 전역 변수를 사용하여 데이터 공유와 객체의 상태 유지를 할 수 있습니다. 하지만 전역 변수의 사용에는 주의해야 하며, 상태 변동성과 의존성 문제에 유의해야 합니다.
'BASIS > JAVA' 카테고리의 다른 글
자바의 기본 자료형과 래퍼 클래스(Wrapper Class): 초보자를 위한 꼬리의 꼬리를 무는 자바 (0) | 2023.07.13 |
---|---|
자바의 자료형(Data Types): 초보자를 위한 꼬리의 꼬리를 무는 자바 (0) | 2023.07.13 |
자바의 클래스의 속성과 변수: 초보자를 위한 꼬리의 꼬리를 무는 자바 (0) | 2023.07.13 |
자바의 클래스 로더(Class Loader): 초보자를 위한 꼬리의 꼬리를 무는 자바 (0) | 2023.07.13 |
자바의 JVM(Java Virtual Machine): 초보자를 위한 꼬리의 꼬리를 무는 자바 (0) | 2023.07.13 |