[JAVA] 클래스와 객체

min 🎸·2025년 1월 31일

🤔 클래스란 ?

서로 다른 타입의 데이터와 메소드를 정의하여 사용자 정의의 타입을 만들 수 있는데, 이것을 클래스라고 한다.
즉, 클래스는 사용자 정의의 자료형이다.

  • 객체를 생성하기 위한 틀 또는 설계도
  • 객체가 가져야 할 속성(변수), 기능(메서드)을 정의

객체와 인스턴스

  • 사용자가 직접 정의하는 사용자 정의 타입을 만들려면 설계도가 필요하다. 이 설계도가 바로 클래스이다.
  • 설계도인 클래스를 사용해서 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라 한다.

→ 클래스는 설계도, 이 설계도를 기반으로 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라 한다.

→ 클래스 : 붕어빵 틀, 객체 : 만들어진 붕어빵 이라고 생각

객체를 생성하는 과정

1. 변수 선언

Student student1;

  • Student 타입을 받을 수 있는 변수를 선언.

2. 객체 생성

student1 = new Student();

  • 객체를 사용하려면 설계도인 클래스 기반으로 객체 생성해야함.
  • new 는 새로 생성한다. Student 클래스 기반으로 새로운 객체를 생성하라는 뜻
  • 메모리에 실제 Student 객체를 생성한다.
  • Student 클래스는 멤버 변수를 갖고있고, 이 변수를 사용하는데 필요한 메모리 공간도 확보한다.

3. 참조값 보관

  • new Student()를 통해 객체를 생성하면
    → 메모리 어딘가에 객체가 생성이됨
    → 메모리에 접근하기 위해 어디있는지 알아내야함 (집주소를 모르면 찾아갈 수 없듯이)
    → 따라서 객체를 생성할 때 반환되는 참조값을 어딘가에 보관해둬야함
    → 변수를 이용해 이 참조값을 보관한다

  • 객체를 생성하면 자바는 메모리 어딘가에 있는 객체에 접근할 수 있는 참조값(주소)를 반환한다.

  • student1 변수는 메모리에 존재하는 실제 Student 객체의 참조값 가지고있다.

    • 이 변수를 통해 객체를 접근(참조)할 수 있다.
    • student1 변수를 이용 → 실제 객체를 접근하고 사용할 수 있다.

0개의 댓글