서로 다른 타입의 데이터와 메소드를 정의하여 사용자 정의의 타입을 만들 수 있는데, 이것을 클래스라고 한다.
즉, 클래스는 사용자 정의의 자료형이다.
- 객체를 생성하기 위한 틀 또는 설계도
- 객체가 가져야 할 속성(변수), 기능(메서드)을 정의
- 사용자가 직접 정의하는 사용자 정의 타입을 만들려면 설계도가 필요하다. 이 설계도가 바로 클래스이다.
- 설계도인 클래스를 사용해서 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라 한다.
→ 클래스는 설계도, 이 설계도를 기반으로 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라 한다.
→ 클래스 : 붕어빵 틀, 객체 : 만들어진 붕어빵 이라고 생각
Student student1;
student1 = new Student();
new Student()를 통해 객체를 생성하면
→ 메모리 어딘가에 객체가 생성이됨
→ 메모리에 접근하기 위해 어디있는지 알아내야함 (집주소를 모르면 찾아갈 수 없듯이)
→ 따라서 객체를 생성할 때 반환되는 참조값을 어딘가에 보관해둬야함
→ 변수를 이용해 이 참조값을 보관한다
객체를 생성하면 자바는 메모리 어딘가에 있는 객체에 접근할 수 있는 참조값(주소)를 반환한다.
student1 변수는 메모리에 존재하는 실제 Student 객체의 참조값 가지고있다.