[Java] 클래스, 객체, 인스턴스의 차이

이동엽·2022년 7월 15일
5

java

목록 보기
6/19
post-thumbnail

클래스와 객체, 그리고 인스턴스의 차이

📖 클래스(Class)란?

  • Java에서 객체를 생성하기 위한 일종의 설계도이다.
    • 흔히 붕어빵(객체)를 만들기 위한 붕어빵 틀(클래스)이라고 비유를 한다.
  • 객체가 가지는 속성(필드)와 동작(메서드)으로 이루어져 있다.
    • 이들은 생략될 수도 있고 하나 이상 작성될 수도 있다.
  • Java를 실행 시 클래스는 JVM 메모리의 클래스 영역(Class Area)에 로드된다.

📖 객체(Object)란?

  • 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서
    • 자신의 속성을 가지고 있고, 다른 것과 식별 가능한 것을 말한다.

📖 인스턴스(Instance)란?

  • 클래스가 붕어빵 틀이라면, 그 틀을 통해 생성된 객체(붕어빵) 하나하나를 해당 클래스의 인스턴스라 한다.
  • 클래스를 사용하여 힙 영역(Heap Area)에 새로운 인스턴스(객체)를 생성할 수 있다.
    • 즉, 인스터스란 현실의 객체를 소프트웨어 내에서 구현한 실체라고 볼 수 있다.

📖 요약

  • 객체(Object)란 자신 고유의 속성을 가지는 물리적, 추상적인 모든 대상을 일컫는다.

  • 클래스(Class)란 객체들을 소프트웨어 내에서 구현하기 위해 만든 설계도이다.

    • 이를 통해 생성된 객체 하나하나를 인스턴스(Instance)라고 부른다.
    • 대체로 객체와 인스턴스는 혼용해서 표현한다.

이미지 참조

profile
백엔드 개발자로 등 따숩고 배 부르게 되는 그 날까지

0개의 댓글