어제 회사에서 Bean이 뭔지 아냐는 질문을 받았다.
정확히 설명할 수 없었다. spring 시작하면 등록되는 설정... 어버버 하다가 대답을 못했다.
역시 기본이 탄탄해야 한다.
Q. Bean이 뭔가요?
A. 보통, java에서는 class를 생성하고 new를 사용해서 객체를 직접 생성합니다. Spring에서는 개발자가 직접 생성하지 않고 Spring이 객체를 생성해서 관리합니다. 이를 Bean이라고 합니다.
정리하자면, Spring이 만든 객체를 Bean이라고 합니다.
Q.그렇다면 class와 객체는 뭔가요? 또, 인스턴스는 뭔가요?
A. class는 일종의 설계도 입니다. 기능과 성능을 정의해 놓은 것 입니다. 설계도이므로 실제로 작동하지는 않습니다.
예를 들면, 핸드폰의 설계도입니다.
객체는 구현해야할 대상입니다. class에서 핸드폰이 가져야할 기능과 성능을 정의해놨습니다.
예를 들면 갤럭시 S20, 아이폰12 입니다.
인스턴스는 class를 통해서 구현해야할 대상, 즉 객체가 실제로 구현된 구체적인 실체입니다. 실제 메모리로 할당됩니다.
예를 들어서 앞에서 언급한 S20과 아이폰12는 같은 타입의 객체지만 실체는 다르므로, 다른 인스턴스입니다.
https://jootang2.tistory.com/120
이제 Bean이 뭔지 알았으니 Spring에서 이 Bean들을 어떻게 사용하는 지 알아보자! (이미 Bean들을 조회하는 방법에 대해서는 알아봤다.)
봄 부산은 처음이다~~ 벚꽃 보러가쟈~
'Spring' 카테고리의 다른 글
의존관계 주입 방법 중 생성자 주입에 대해서 설명해주세요 (3) | 2023.04.04 |
---|---|
@ComponentScan은 무슨 역할인가요? @Autowired는 뭐 하는 아이인가요? (1) | 2023.03.16 |
Spring bean 조회 시 같은 타입이 두 개 이상인 경우는 어떻게 해요~? (2) | 2023.03.06 |
Spring에 등록된 Bean들을 조회해보자~ (2) | 2023.02.21 |
Spring을 통해 의존관계 주입해보기! (2) | 2023.02.17 |