class Test4 {
// 인스턴스 변수. 객체가 생성되어야 사용가능.
// 객체가 생성될 때 ! 메모리가 할당된다.
int a;
private int b=10;
// 클래스변수. 객체생성과 상관없이 사용가능.
// 클래스가 로딩될 때 메모리 할당
public static int c=100;
// 인스턴스 메소드. 객체가 생성되어야 사용가능.
public void print(){
System.out.println(a+ " : " +b + " : " +c);
}
// 클래스 메소드. 객체 생성과 상관없이 사용 가능.
public static void write(){
// System.out.println(a); 컴파일 오류.
// 클래스 메소드에서는 인스턴스 변수나 인스턴스 메소드를 호출 할 수 없다.
System.out.println(c)
}
}
public class Ex04_class {
public static void main(String[] args) {
System.out.println(Test4.c);
// 클래스 메소드 접근
// "클래스명.메소드명([인수])" 형식으로 접근
Test4.write();
// 인스턴스 변수, 인스턴스 메소드는 객체 생성 후 접근
Test4 tt = new Test();
tt.a=50;
tt.print();
Test4 tt2 = new Test4();
tt2.print();
}
}
인스턴스 변수와 인스턴스 메소드
클래스 변수와 클래스 메소드의 차이를 알아보자
인스턴스 변수와 인스턴스 메소드는 객체 생성 후 접근이 가능하다.
메모리 할당이 되어있지 않기 때문이다.
클래스 변수와 클래스 메소드는 객체를 생성하지 않고 접근이 가능하다.
클래스가 로딩 될 때 메모리를 할당하기 때문이다.
'쌍용강북교육센터 > 7월' 카테고리의 다른 글
0713_Ex06_class (0) | 2021.07.14 |
---|---|
0713_Ex05_class : 레퍼런스 변수 선언 및 메모리 할당 (0) | 2021.07.14 |
0713_Ex03_class : 클래스에 대해 알아보기 (0) | 2021.07.14 |
0713_Ex02_class : 클래스에 대해 알아보기 (0) | 2021.07.13 |
0713_Ex01_class : Bank 클래스의 객체 생성 (0) | 2021.07.13 |