🎨 Programming/JAVA

[JAVA] 클래스(class), 객체(object), 인스턴스(instance)의 차이

ryang x2 2023. 2. 9. 17:04
728x90
반응형

● 클래스(class) 란, 

 - 자바에서 사용하는 가장 기초적인 유저가 생성할 수 있는 자료형 중의 하나이다.

 - 객체를 정의하고 만들어 내기 위한 설계도 혹은 틀을 말한다.

 - 자바의 가장 작은 단위로서 클래스가 모여서 하나의 프로그램이 만들어 진다. 상태(state)를 나타내는 변수와 행동(behavior)을 나타내는 메소드로 구성된다.

붕어빵 틀

 

● 객체(object) 란, 

 - 클래스에 선언된 모양 그대로 생성된 구체적인 실체, 즉 구현할 대상이다.

 - '클래스의 인스턴스' 라고도 부른다.

팥붕어빵

 

● 인스턴스(instance) 란, 

 - 클래스를 통해서 구현해야할 대상(객체)이 실제로 구현된 구체적인 실체를 말한다. 

 - 객체에 포함되는 개념이다

말차붕어빵

 

 

예시를 들면, 

클래스는 붕어빵을 만들기 위한 틀이 되고 객체는 붕어빵이다. 인스턴스는 붕어빵 틀로 찍어낸 각각 하나하나의 붕어빵이다.  위 팥붕어빵과 말차붕어빵은 같은 타입의 객체이지만, 인스턴스 관점에서는 다르다.

/* 클래스 */
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 객체 

- 클래스는 ‘설계도’, 객체는 ‘설계도로 구현한 모든 대상’을 의미한다. ex) 붕어빵과 붕어빵 틀

 

# 객체 VS 인스턴스 

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

 

 

 

 

* 참고사이트

- https://cloudstudying.kr/lectures/195

 

09 클래스와 객체 | CloudStudying

# 클래스와 객체 ## 들어가며.. --- 우리는 이전 파트에서 자바의 기본 문법에 대해 알아보았다. ![클라우드스터딩-자바-기본-문법-파트-요약](https://i.imgur.com/wU3oHxo.png) 이번 파트에서는 데이터와

cloudstudying.kr

- https://gmlwjd9405.github.io/2018/09/17/class-object-instance.html

 

[Java] 클래스, 객체, 인스턴스의 차이 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

728x90
반응형