=> 세상에 존재하는 유일무이한 객체를 특성(속성+기능)에 따라 분류해 보니 객체를 통칠할 수 있는 집합적 개념 , 클래스(분류)가 나오게된다.
package ex03;
public class Mouse {
public String name;
public int age;
public int countOfTail;
public void sing() {
System.out.println(name +" 찍찍!!");
}
}
package ex03;
public class MouseDriver {
public static void main(String[] args) { // 1번
Mouse mickey = new Mouse();
mickey.name = "미키";
mickey.age = 85;
mickey.countOfTail = 1;
mickey.sing(); //2번
mickey= null; //3번
Mouse jerry = new Mouse();
jerry.name = "제리";
jerry.age =73;
jerry.countOfTail = 1;
jerry.sing();//4번
}
}
1번
- name ,age ,countOfTail은 객체에 대한 속성이기 때문에 객체가 생성돼야만 속성의 값을 저장하기 위한 메모리 공간이 스태틱 영역이 아닌 힙 영역에 할당
- main() 메서드는 클래스의 멤버 메서드 , sing()은 객체의 멤버 메서드 , 두개는 static 키워드를 통해서 구분
2번
- mickey에는 Mouse객체의 주소를 가지고 있다.
3번
- mickey가 더이상 아무도 참조하지 않으면 가비지 컬렉터가 Mouse객체를 수거해간다.
4번