public class Ex02_class{
public static void main(String[] args){
int x; // 일반변수, 초기화하지 않으면 연산이 불가하다.
x = 50;
System.out.println(x);
Test2 t1; // 객체선언(레퍼런스 변수 선언)
// t1.a=100; 컴파일 오류. 메모리가 할당되지 않았기 때문이다.
t1 = new Test2(); // 메모리 할당. 객체를 생성함.
// new 생성자();
t1.name = "김자바";
t1.a=50;
t1.write(); // 메소드 호출.
Test t2 = new Test2(); // 객체 생성과 메모리 할당.
t2.write();
}
}
// 클래스 : 필드(데이터를 저장한 저장공간)+ 메소드(어떤 일을 하는 것)
class Test2 {
// 필드 선언(인스턴스 변수)
// 필드는 초기화하지 않으면 객체가 생성되는 시점에 객체는 null, 숫자 변수는 0으로 초기화 된다.
String name;
// 객체가 생성될 때 null로 초기화 된다.
int a;
// 객체가 생성될 때 0으로 초기화 된다.
int b=10;
// 객체가 생성될 때 10으로 초기화 된다.
// 메소드 (인스턴스 메소드)
public void write() {
System.out.println(name+" : "+ a + " : " + b);
}
}