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 |