◆ 클래스(Class)
▶ 개념
- Obejct를 만들어 내기 위한 설계도
- 연관되어 있는 변수(Variable)와 메서드(Method)의 집합
▶ 특징
- 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성된다.
- 필드란, 클래스에 포함된 변수(variable)를 의미
- 메소드란 어떠한 특정 작업을 수행하기 위한 명령문의 집합
◆ 객체(Object)
▶ 개념
- 소프트웨어 세계에 구현할 대상
- Class에 선언된 모양 그대로 생성된 실체
▶ 특징
- 'Class의 Instance'라고도 부른다.
- Object는 모든 Instance를 대표하는 포괄적인 의미를 갖는다.
- OOP의 관점에서 Class의 타입으로 선언되었을 때 'Object'라고 부른다.
◆ 인스턴스(Instance)
▶ 개념
- 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체
즉, 객체를 소프트웨어에 실체화 하면 그것을 'Instance'라고 부른다.
▶ 특징
- Instance는 Object에 포함된다고 볼 수 있다.
- OOP의 관점에서 Object가 메모리에 할당되어 실제 사용될 때 'Instance'라고 부른다.
- 실행 프로세스는 프로그램의 Instance이다.
즉, Instance라는 용어는 반드시 Class와 Object 사이의 관계로 한정지어 사용할 필요는 없다.
- 클래스로부터 객체를 만드는 과정을 '인스턴스화'라고 한다.
- 클래스가 가지고 있는 메소드(method)를 모두 상속 받는다.
※ 참조
https://geonlee.tistory.com/11
'[개발] 개념 정리' 카테고리의 다른 글
Process, Thread가 뭘까? (0) | 2022.04.26 |
---|---|
TDD vs BDD vs DDD vs ATDD (0) | 2022.02.09 |
Servlet과 JSP 차이 (0) | 2022.02.01 |
Rest API의 put과 patch의 차이 (0) | 2022.01.25 |
JPA란? (0) | 2022.01.22 |