티스토리 뷰
Java에는 C언어와 똑같은 방식으로 전역 변수를 선언할 수 있지만 사용하는 방법은 다르다. Java에서 전역 변수를 개념적으로 이해하기 위해선 Java에는 전역 변수가 없다고 생각하는 것이 편하고, 실제로 자바엔 전역 변수라는 개념이 없다는 설명을 아래와 같이 많이 찾아볼 수 있다.
- Truly global variables do not exist in Java
- Java actually doesn't have the concept of Global variable
- Global variables are not technically allowed in Java
C언어의 전역 변수는 아래와 같이 사용이 가능하다.
int global_var = 1;
int main() {
printf("%d", global_var);
return 0;
}
실행 결과:
1
반면 Java에서 전역 변수 사용은 아래와 같다.
public class Main {
public int instance_var = 1;
public static int class_var = 2;
public static void main(String[] args) {
Main m = new Main();
System.out.println(m.instance_var);
System.out.println(class_var);
}
}
실행 결과:
1
2
인스턴스 변수(instance_var)는 객체를 생성해야만 호출이 가능해, Main m = new Main();을 통해 객체를 생성한 후 m.instance_var로 사용이 가능하며, 생성자에서 사용되는 this도 같은 맥락으로 이해할 수 있다.(파이썬에선 self가 this와 비슷한 역할을 하는 것으로 생각할 수 있다.) 반면 클래스 변수(class_var)는 객체의 생성없이도 class_var만으로 바로 호출이 가능하다.
출처
2. https://www.geeksforgeeks.org/using-static-variables-in-java/
3. https://www.edureka.co/community/1856/how-can-we-define-global-variables-in-java
'기술(Tech, IT) > 자바(Java)' 카테고리의 다른 글
[Java] 'Parent' is abstract; cannot be instantiated (0) | 2022.09.29 |
---|---|
[Java] Queue(큐) 선언 및 사용 (0) | 2022.09.27 |
[Java] 생성자(Constructor) (0) | 2022.09.14 |
[Java] JAR(Java Archive) (0) | 2021.09.18 |
[Java] instanceof (0) | 2021.08.23 |
- Total
- Today
- Yesterday
- Android
- DICTIONARY
- 리트코드
- socket programming
- I2C
- machine learning
- 투 포인터
- java
- Computer Graphics
- tf-idf
- 티스토리챌린지
- 소켓 프로그래밍
- 머신 러닝
- C++
- 딕셔너리
- defaultdict
- min heap
- The Economist
- 오블완
- 이코노미스트 에스프레소
- Hash Map
- vertex shader
- ml
- leetcode
- The Economist Espresso
- Python
- 파이썬
- join
- 이코노미스트
- 안드로이드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |