클래스, 객체, 인스턴스

Xtraa·2024년 12월 17일

Java 기본 개념

목록 보기
1/7

1. 클래스(Class)

  • 정의:
    클래스는 객체를 생성하기 위한 '틀' 또는 '설계도'이다.
    - 객체가 가져야 할 속성(변수)기능(메서드)를 정의한다.
    - 실제로 존재하는 것이 아니라 개념적으로만 존재한다.
  • 비유:
    • : 붕어빵 틀은 붕어빵을 만드는 틀일 뿐 실제 먹을 수 있는 붕어빵이 아니다.
    • 설계도: 자동차 설계도는 자동차를 만들기 위한 도면이며, 실제 자동차가 아니다.
  • 예시:
    • 학생 클래스: 속성으로 name, age, grade를 가진다.

      public class Student {
          String name;
          int age;
          int grade;
      }

2. 객체(Object)

  • 정의:
    객체는 클래스에서 정의한 속성과 기능을 가진 실체이다.
    - 같은 클래스에서 생성되더라도 서로 독립적인 상태를 가진다.
  • 특징:
    • 클래스에서 생성된 실체를 의미하며 메모리상에 존재한다.
    • 객체는 실제 사용 가능한 상태이다.
  • 예시:
    • student1student2Student 클래스에서 생성된 객체이다.

      Student student1 = new Student();
      Student student2 = new Student();
    • student1student2는 같은 클래스에서 만들어졌지만 서로 다른 객체이다.


3. 인스턴스(Instance)

  • 정의:
    인스턴스는 특정 클래스로부터 생성된 객체를 의미한다.
    - 객체와 비슷한 개념이지만, 어떤 클래스에 속해 있는지를 강조할 때 사용한다.
  • 특징:
    • "객체가 어떤 클래스의 인스턴스인지" 명확히 하고 싶을 때 사용.
  • 예시:
    • student1 객체는 Student 클래스의 인스턴스이다.

      Student student1 = new Student();
      // student1은 Student 클래스의 인스턴스

4. 객체 vs 인스턴스

  • 공통점:
    둘 다 클래스에서 생성된 실체를 의미한다.
  • 차이점:
    • 객체(Object): 클래스에서 생성된 모든 실체를 의미.
    • 인스턴스(Instance): 객체가 특정 클래스에 속함을 강조할 때 사용.
  • 쉽게 정리:
    • 모든 인스턴스는 객체이다.
    • 객체를 "어떤 클래스에서 만들어진 것"이라고 강조할 때 인스턴스라는 용어를 사용한다.
  • 예시:
    • student1은 객체이지만, Student 클래스의 인스턴스라고 부른다.

요약

  1. 클래스(Class): 객체를 만들기 위한 설계도.
  2. 객체(Object): 클래스에서 생성된 실체로 메모리상에 존재.
  3. 인스턴스(Instance): 객체가 특정 클래스에 속함을 강조할 때 사용.
  4. 객체 vs 인스턴스:
    • 객체: 클래스에서 생성된 실체.
    • 인스턴스: 특정 클래스와의 관계를 강조.
    • 모든 인스턴스는 객체지만, 인스턴스라는 용어는 클래스와의 관계를 명확히 하고 싶을 때 사용한다.
profile
https://xtraa.notion.site/Xtraa-ed48ac432d354d01b5bf5b0da5ec94a9?pvs=4

0개의 댓글