안녕하세요. 플랫폼공작소입니다. 오늘은 스프링 빈에 대해서 알아보겠습니다. 설명하기 전에 객체의 개념을 잠깐 짚고 넘어가겠습니다.
1. 객체 vs 클래스
- 객체란 사물(붕어빵)을 의미하고, 클래스란 그 사물을 만들기 위한 설계도 또는 도면(붕어빵 기계)을 의미합니다.
객체와 클래스를 설명할 때, 붕어빵 비유를 빠뜨릴 수 없습니다.
2. 객체 vs 인스턴스
클래스는 붕어빵 기계 그리고 인스턴스는 붕어빵이라고 비유됩니다. 객체를 설명하기 위해서, 인스턴스를 조금 더 알아봅시다. 반죽을 넣고 앙금을 넣어 비로소 만질 수 있는 빵이 되었을 때 인스턴스라고 부릅니다. 이것을 '클래스가 실체화되었다.' 라는 표현을 하는데요 그것은 즉, 메모리에 할당된 것을 의미합니다.
여기서 인스턴스와 객체의 차이점이 나타납니다. 전자는 메모리에 할당된 것이고, 후자는 메모리에 할당된 것이 아닌 것이죠. 즉, 메모리 할당 여부에 따라서 차이가 있는 것입니다. 그것을 제외한다면 몹시 유사하게 동일한 개념이지만 말이죠.
정리하자면, 클래스가 new 연산자에 의해서 실체화 될 때 생성된 인스턴스는 메모리의 힙 영역(Heap Area)에 저장됩니다.
3. 자바빈이란?
- 자바빈 규칙을 따라 작성된 자바클래스입니다. 자바빈 클래스에는 파라미터가 없는 생성자가 있어야 하며, 클래스 외부에서 필드에 접근할 때에는 getter, setter 메소드로 접근해야합니다.
4. 스프링 빈 = 자바 객체 = 빈 객체
- 빈은 (스프링 Ioc 컨테이너에 의해서 인스턴스화되어 조립되거나 관리되는) 객체를 말합니다.
- 스프링 빈과 자바 객체와의 차이점은 없습니다.
추가로 궁금한 점이 있다면 댓글에 남겨주세요.
다음 포스팅은 스프링프레임워크 어노테이션인 @RestController에 대해서 알아보겠습니다.
다음 포스팅으로 이동 >> https://doctorson0309.tistory.com/406
reference : https://gmlwjd9405.github.io/2018/09/17/class-object-instance.html
reference : https://thositeom.tistory.com/entry/프로퍼티property-란
reference : https://endorphin0710.tistory.com/93
광고 링크 : 플랫폼공작소, 플랫폼공작소TV, 쇼핑몰