클래스, 객체, 인스턴스

SGIYLEVOELR·2021년 11월 23일
0

기본 개념

목록 보기
6/6

class

  • 객체를 만들어내기 위한 설계도, 틀
  • 연관되어있는 변수와 method의 집합

객체

  • 소프트웨어 세계에 구현할 대상

  • 클래스에 선언된 모양 그대로 생성된 실체

  • 특징

  1. 클래스의 instance
  2. 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다
  3. 객체지향 관점에서 클래스의 타입으로 선언되었을 때 부르는 말이다

인스턴스(객체)

  • 객체를 실체화한 것

  • 특징

  1. 객체에 포함된다.
  2. 객체지향의 관점에서 객체가 메모리에 할당되어 실제 사용될 때를 뜻한다
  3. 추상적인 개념과 구체적인 객체 사이의 관계에 초점을 맞출 경우에 사용
    • '~의 인스턴스'
    • 객체: 클래스의 인스턴스
  4. 인스턴스는 클래스와 객체 사이의 관계로 한정지을 필요가 없다
  5. 추상적인 개념으로부터 생성된 복제본을 의미한다

예시

/* 클래스 */
public class Animal {
  ...
}

/* 객체와 인스턴스 */
public class Main {
  public static void main(String[] args) {
    Animal cat, dog; // '객체'

    // 객체의 인스턴스화
    cat = new Animal(); // cat은 Animal 클래스의 '인스턴스'(객체를 메모리에 할당)
    dog = new Animal(); // dog은 Animal 클래스의 '인스턴스'(객체를 메모리에 할당)
  }
}

클래스, 객체, 인스턴스의 차이

클래스 VS 객체

  • 클래스: 설계도
  • 객체: 설계도로 구현한 모든 대상

객체 VS 인스턴스

  • 클래스 타입으로 선언된 것 VS 객체가 메모리에 할당되어 실제 사용되는 것

0개의 댓글