rdb패러다임(테이블기반, 연관관계를 fk로 연결)
orm기술을 사용해서 설계할때 하나로 캡슐화 하는게 좋은 개념들을
Dependency injection
- 객체지향설계에서는 객체 간의 행위와 책임을 분리하고 객체들끼리
서로 의존 하도록 설계하는 것이 중요한데 이때
이때 a -> b를 사용하는 관계라고 할 떄 a에서 b를 직접 생성하는 식
사용하는 클래스가 직접 사용할 클래스의 인스턴스를 만들어서 사용하는식으로하면
Dip, ocp를 지키지 못하게 되기때문에 객체지향적으로 설계할 수 없음
그래서 외부에서 의존주입을 받도록 해서 객체지향 설계 원칙을
지키는것
Ioc
- 제어의 역전
내가 사용하는 클래스를 직접 생성하고 설정하는게 아니라
외부에서 이런것들을 제어하는식으로 진행되는것
Application context
* 스프링이 제공하는 ioc컨테이너 인터페이스
Componenet scan
스프링이 빈을 전부 찾아서 빈을 생성 관리, 스프링 컨테이너에 빈으로 등록
Bean life cycle
빈의 생명 주기를 나타냄
- 싱글톤, 세션, 프로토타입 등등이 있음
모의객체? → ??
가비지 컬렉션
더이상 참조되지 않는 메모리 영역 -> 가비지
자바에서는 이러한 가비지를 gc가 처리해줌
자바 버전 마다 알고리즘이 다르지만
보통 mark, sweep 과정을 거쳐서 처리됨
Mark ->. 참조되고 있는 메모리 공간을 체크
Sweep -> mark되지 않는 영역을 해제