변수의 분류
- 선언되는 위치에 따른 변수의 분류
- 멤버변수
- 매개변수
- 지역변수
- 저장되는 위치에 따른 변수 분류
- 인스턴스 변수
- 스태틱(클래스) 변수
1. 인스턴스 변수, 메서드
- 클래스를 이용하여 객체를 생성하면. 그 때마다 인스턴스 변수가 생성됨.
- 객체를 생성해야만 호출 가능
ex) 어떤 클래스 안에 int a라는 멤버변수가 있다.
-> 이 클래스를 이용해서 객체(인스턴스)를 100개 만들었다
-> 멤버변수 a는 몇 개 생성되는가? 100개
- 표기 => 객체명.변수명
객체명.메서드명
2. 스태틱(클래스) 변수, 멤서드
- 프로젝트의 특정 클래스의 변수에 static키워드가 붙으면 곧 바로 메모리에 로딩이 되는 변수
- 객체를 생성하지 않아도 호출 가능
- static키워드를 사용한다는 것은 메모리에 한번 할당되어 프로그램이 종료될 때 해제되는 것을 의미한다.
- 각각의 스태틱변수는 클래스당 1개씩만 생성됨.
- 표기 => 클래스명.변수명(객체명.변수명 도 가능하나 권장하지 않음)
클래스명.메서드
ex)
public class Test1 {
public int a = 10;
public static int b = 20;
// 인스턴스 메서드
public void me1() {
System.out.println(a);
System.out.println(Test1.b);
}
// 클래스(스태틱) 메서드
public static void me2() {
// 클래스 변수는 그대로 사용 가능
System.out.println(Test1.b);
// 인스턴스 변수는 객체를 만든 후 사용 가능
Test1 t = new Test1();
System.out.println(t.a);
}
}
'자바(java)' 카테고리의 다른 글
인터페이스(Interface) (0) | 2023.03.09 |
---|---|
Final(변수, 메서드, 클래스) (0) | 2023.03.09 |
상속 (Inheritance) (0) | 2023.03.09 |
String 클래스 (0) | 2023.03.07 |
배열 (Array) (0) | 2023.03.06 |