[CS]클래스와 객체, 인스턴스의 차이가 뭔가요?

2025. 9. 16. 23:51·cs/dev
728x90

정리

클래스 (Class): 객체를 기술한 설계도
객체 (Object):  상태가 있고 행동을 하는 실체
인스턴스 (Instance): 메모리 상에 존재하는 객체

 

클래스(Class)

정의: 이떠한 속성이 있고 어떻게 행동하는지를 기술한 설계도

공통 속성과 연산(행위)을 갖는 객체들의 집합 / 데이터 추상화 단위
※ Operation : 클래스의 동작 / 객체에 대해 적용될 메서드 정의

class Car { //클래스
    private String name;
    private double speed;
    private Size size;
    ...
    
    public void start() { ... }
    public void stop() { ... }
    ...
}

Car myCar = new Car("니로") //객체 ->(실체) 객체는 클래스로부터 만들어짐
Car yourCar = new Car("소나타");
Car ourCar = new Car("스포티지");

 

- 내가 원하는 속성과 행동을 구체적으로 기술한 것이 클래스(Type)

- 그렇게 기술한 대로 실체화 된 것이 객체

 

객체(Object)

정의: 상태가 있고 행동을 하는 실체

상태(state) = 객체가 가질 수 있는 조건, 속성 값에 의해 정의
행위(연산, Method) = 객체가 반응할 수 있는 메시지 집합

 

고유 식별자 / 하나의 독립된 존재 / 일정한 기억장소 보유

 

인스턴스(Instance)

정의: 메모리 상에 존재하는 객체

 

클래스에 속한 각각의 객체

instantiate = 객체와 시켜서 만든다.
instance = instantiate해서 만들어진 객체

예제1)

class Counter { 
    private int count = 0;

    public void increment() {
    	count++;
    }
    
    public int get() {
    	return count;
    }
}

Counter appleCounter = new Counter(); //객체
Counter orangeCounter = new Counter();


인스턴스 ⊂ 객체이지만 현실에서는 엄격하게 구분하진 않고 혼용해서 많이 사용하는 것 같습니다.

 

예제)

class Switch {
	private int state = 0;
    
    public void on() {
    	this.state = 1;
    }
    
    public void off() {
    	this.state = 0;
    }
    public boolean isOn() {
    	return this.state == 1;
    }
}

Switch tvSwitch = new Swithch();//인스턴스: 객체를 만들었다.

 

 

출처: 쉬운코드 BJ.1 객체와 클래스 완벽 설명!! 더 이상 헷갈려 하시지 마시고 들어보세요~

https://www.youtube.com/watch?v=1pZjXnev45A&list=PLcXyemr8ZeoT-_8yBc_p_lVwRRqUaN8ET

 

728x90
반응형

'cs > dev' 카테고리의 다른 글

2022년 한이음 ICT 멘토링 후기[챗봇을 활용한 학사관리 시스템 구축]  (0) 2025.09.26
[CS]인터페이스와 추상클래스?  (0) 2025.09.17
[CS]OOP의 4가지 특징  (0) 2025.09.16
[Spring]spring과 spring boot  (0) 2025.09.16
[Spring]JPA란 무엇인가요? (ORM, SQL Mapper)  (0) 2025.09.16
'cs/dev' 카테고리의 다른 글
  • 2022년 한이음 ICT 멘토링 후기[챗봇을 활용한 학사관리 시스템 구축]
  • [CS]인터페이스와 추상클래스?
  • [CS]OOP의 4가지 특징
  • [Spring]spring과 spring boot
lakedata
lakedata
lakedata 님의 블로그 입니다.
  • lakedata
    lakedata 님의 블로그
    lakedata
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • cs (82)
        • dev (28)
        • sec (29)
        • ops (25)
      • 자격증 (32)
        • 정보처리기사 (20)
        • 정보보안기사 (1)
        • aws dva (6)
        • aws dop (2)
      • IT서적 (27)
        • 클린아키텍처 (10)
        • 객체지향의사실과오해 (7)
        • 오브젝트 (10)
      • 코테 (42)
        • 알고리즘 (20)
        • 백준 (13)
        • 프로그래머스 (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    Security
    SQL
    docker
    AWS
    Java
    Spring
    알고리즘
    CS
  • 최근 댓글

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
lakedata
[CS]클래스와 객체, 인스턴스의 차이가 뭔가요?
상단으로

티스토리툴바