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
- https://gmlwjd9405.github.io/2018/09/17/class-object-instance.html
728x90
반응형
'🎨 Programming > JAVA' 카테고리의 다른 글
[JAVA] 4가지 변수와 생명주기 및 자료형 (0) | 2023.02.09 |
---|---|
[JAVA] return의 역할 (0) | 2023.02.09 |
[JAVA] 33. 자바 셀레니움(Selenium) (0) | 2021.03.22 |
[JAVA] 32. 자바 크롤링(Scraping) (0) | 2021.03.22 |
[JAVA] 31. 스레드(thread) - 2 (0) | 2021.03.22 |