Skip to content

Latest commit

 

History

History
66 lines (51 loc) · 2.22 KB

coi.md

File metadata and controls

66 lines (51 loc) · 2.22 KB

클래스 , 객채 , 인스턴스

클래스란 ?

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

객체란 ?

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

특징

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

인스턴스란 ?

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

특징

  • 인스턴스는 객체에 포함된다고 볼 수 있다.
  • oop의 관점에서 객체가 메모리에 할당되어 실제 사용될 때 '인스턴스' 라고 부른다.
  • 추상적인 개념(또는 명세)과 구체적인 객체 사이의 관계에 초점을 맞출 경우에 사용한다.
    • ~의 인스턴스 의 형태로 사용된다.
    • 객체는 클래스의 인스턴스다.
    • 객체 간의 링크는 클래스 간의 연관 관계의 인스턴스다.
    • 실행 프로세스는 프로그램의 인스턴스다.

예시

// 클래스
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 인스턴스

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