728x90
728x170
클래스 변수 |
인스턴스 변수 |
모든 실제 객체에서 접근하여 그 값을 사용하거나 바꿀 수 있음. |
각각의 실제 객체에서 사용됨. |
static 키워드를 붙임. |
static 키워드가 없음. |
클래스라는 틀 안에 들어 있는 변수. |
실제 객체 안에 들어 있는 변수. |
'클래스 이름' + '.' + '변수 이름'으로 접근. |
'실제 객체' + '.' + '변수 이름'으로 접근 |
1
2
3
4 |
public class Person {
public static int total = 0; // 클래스 변수
public int age = 0; // 인스턴스 변수
} |
cs |
클래스 메서드 |
인스턴스 메서드 |
static 키워드를 붙임. |
static 키워드가 없음. |
클래스라는 틀 안에 들어 있는 메서드. |
실제 객체 안에 들어 있는 메서드. |
'클래스 이름' + '.' + '메서드 이름'으로 접근. |
'실제 객체' + '.' + '메서드 이름'으로 접근 |
- 객체 타입의 변수를 static으로 선언할 때는, 동시 접근(Simultaneous Access) 문제가 생길 수 있으므로 주의해야 함.
- static으로 선언된 클래스 변수는 객체 안에 들어 있는 인스턴스 메서드에서 마음대로 접근할 수 있지만, static으로 선언된 클래스 메서드는 객체 안에 들어 있는 인스턴스 변수에 마음대로 접근할 수 없음.
728x90
그리드형(광고전용)
'Programming > Java' 카테고리의 다른 글
instanceof 연산자 (0) | 2017.05.06 |
---|---|
접근 권한을 알려주는 키워드 (0) | 2017.05.06 |
비교 연산자 (Comparative Operation) (0) | 2017.05.05 |
String 자료형 (0) | 2017.05.03 |
자료형 (Type) (0) | 2017.05.03 |