728x90

Class(클래스)

개념

  • 객체를 정의하고 만들어 내기 위한 설계도 혹은 틀
  • 연관되어 있는 변수와 메소드의 집합

특징

  • 객체의 상태를 나타내는 필드와 객체의 행동을 나타내는 메소드로 구성
  • 필드란 클래스에 포함된 변수
  • 메소드란 어떠한 특정 작업을 수행하기 위한 명령문의 집합

 

Object(객체)

개념

  • 소프트웨어 세계에 구현할 대상
  • 클래스에 선언된 모양 그대로 생성된 실체

특징

  • 클래스의 인스턴스라 부른다
  • 객체는 모든 인스턴스를 대표하는 포괄적인 의미
  • oop 관점에서 클래스의 타입으로 선언되었을 때 객체라고 부른다

※ OOP(Object Oriented Programming) - 객체 지향 프로그래밍

 

Instance(인스턴스)

개념

  • 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체
  • 객체를 소프트웨어에 실체화 하면 인스턴스라 부른다
  • 실체화된 인스턴스는 메모리에 할당

특징

  • 인스턴스는 객체에 포함된다
  • oop 관점에서 객체가 메모리에 할당되어 실제 사용될 때 인스턴스라 부른다
  • 추상적인 개념과 구체적인 객체사이에 초점을 맞출 경우 사용
  • 인스턴스 용어는 반드시 클래스와 객체 사이의 관계로 한정지어서 사용할 필요는 없다
  • 인스턴스는 어떤 원본(추상적 개념)으로 부터 생성된 복제본을 의미

 

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

클래스 vs 객체

  • 클래스는 설계도, 객체는 설계도로 구현한 모든 대상을 의미

객체 vs 인스턴스

  • 클래스의 타입으로 선언되었을 때 객체라 부른다
  • 그 객체가 메모리에 할당되어 사용될 때 인스턴스라 부른다
  • 객체는 현실 세계에 가깝고, 인스턴스는 소프트웨어 세계에 가깝다
  • 객체는 실체, 인스턴스는 관계에 초점되어 있다
728x90

+ Recent posts