1. main메소드가 없는 클래스는 실행되지 않는다.
2. 클래스의 인스턴스를 만들어 보자.
VendingMachine vm1 = new VendingMachine();
*VendingMachine 인스턴스를 생성하고, vm1은 해당 인스턴스를 참조한다.
3. 클래스명 변수명 = new 클래스명(); ★
- 클래스명 : 참조타입
- 변수명 : 참조변수
- new : new 연산자
- 클래스명() : 생성자
4. 인스턴스를 만드는 3가지 방법
- new 연산자와 생성자를 이용하여 인스턴스를 만드는 방법 (가장 많이 사용하게 될 것)
- 클래스 로더를 이용하는 방법 (Spring프레임워크 등을 다룰 때 사용하게 될 것)
- 메모리에 있는 인스턴스를 복제(clone)하여 만드는 방법
5. 메모리
- 메모리에 올라 가야지만 실행할 수 있다.
- new 연산자를 사용하면 메모리에 인스턴스가 생성된다.
- new를 굉장히 많이 사용하면 메모리에 인스턴스가 많아지고 메모리가 부족해서 프로그램이 죽을 수도 있다. (메모리 관리를 잘 해야함)
6. 인스턴스, 레퍼런스 타입, 레퍼런스 변수를 구별하자.
7. 객체 지향 프로그래밍에서 인스턴스를 필요한 개수만큼 만드는 것은 매우 중요하다.
- 공간은 한정되어 있는데 계속 인스턴스를 만들면 문제가 심각해질 것이다.
- 인스턴스를 만들 때마다 메모리에 인스턴스가 생성되기 때문에 필요한 개수만큼만 인스턴스를 만들어야 한다.
8. 자판기를 5개 만들고 싶다면?
클래스를 사용하는게 아니라, 클래스의 인스턴스를 만든 후 사용하는 것. 그래서 클래스 지향이 아니라 객체 지향이다.