객체의 속성을 정의하는 부분
⭐ 클래스 변수와 인스턴스 변수를 묶어 멤버 변수라고도 한다.
클래스 변수
인스턴스 변수
지역 변수
package kh.oop1.day03.exam;
public class FieldExam {
// [접근제한자] [예약어] 자료형 변수명 [= 초기값];
// 클래스 변수
// 모든 객체가 공통적으로 속성을 가질 때 사용 (메모리 영역에 같이 생성)
public static int var1;
// 인스턴스 변수
// 각각의 객체(인스턴스)마다 개별적인 속성을 가져야 할 때 사용
public int var2;
private int var3; // 캡슐화 원칙으로 private 사용
int var4; // 접근제한자 생략 시 default 접근제한자
// 메서드
public String method1() {
String var5 = "메서드 안의 지역변수"; // 지역 변수
return var5;
}
public static String method2() {
String var6 = "static 안의 지역변수"; // 지역 변수
return var6;
}
// 생성자
public FieldExam() {
String var7 = "생성자 지역변수"; // 지역 변수
System.out.println(var7);
}
// 초기화블록
{
String var8 = "초기화블록 지역변수"; // 지역 변수
System.out.println(var8);
}
}
package kh.oop1.day03.run;
import kh.oop1.day03.exam.FieldExam;
public class Run {
public static void main(String[] args) {
// 클래스 변수
// 클래스명 뒤에 '.'을 입력해 해당 클래스 변수, 메서드 사용 가능
System.out.println(FieldExam.var1);
System.out.println(FieldExam.method2());
// 멤버 변수
// heap 메모리 영역에 객체 생성 후 변수나 메서드에 접근 가능
FieldExam fe = new FieldExam();
System.out.println(fe.var2);
System.out.println(fe.method1());
}
}
0
static 안의 지역변수
초기화블록 지역변수
생성자 지역변수
0
메서드 안의 지역변수