포스트

Java - 잘못 사용하고 있던 변수 개념 정리

잘못 사용하고 있던 변수 개념 정리


요약

클래스 변수

클래스 변수 = static 변수 = 전역 변수

멤버 변수

멤버 변수 = 인스턴스 변수




착각하고 있던 부분

  • 전역 변수 = 멤버 변수
  • static 변수 = static 변수
  • 지역 변수 = 지역 변수

이렇게 이해하고 사용했는데 잘못 이해하고 있던 부분이었다; 😳

java에서 변수는 클래스 변수와 멤버 변수, 지역 변수로 구분한다.


다시 한 번 정리

(모든 변수에 public 접근 제한자를 붙인다고 가정)


클래스 변수 == static 변수
- 프로그램의 어디서든 접근 가능

1
2
3
4
5
6
7
8
9
public class Study {
	public static final boolean staticVariable = "study class static variable";
}

public class Main {
	public static void main(String[] args) {
		System.out.println(Study.staticVariable);
	}
}


멤버 변수 == instance 변수
- 해당 클래스에 정의된 모든 메서드에서 접근 가능
- 클래스 인스턴스 생성 후 인스턴스를 통해 접근 가능한 변수

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Study {
	public String name;

	Study(String name) {
		this.name = name;
	}
}

public class Main {
	public static void main(String[] args) {
		Study study = new Study("김스터디");
		System.out.println(study.name);
	}
}




참고한 사이트

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.