[대충 정리] sw아카데미 Spring 1일차
1. 비즈니스 모델 용어
Domain
사용자가 어플리케이션을 사용하는 영역이.. 해당 어플리케이션의 도메인이라고 한다.
Entity
- 시간의 흐름의 따라 지속적으로 변경되는 객체
- 다른 엔터티와 구별할 수 있는 식별자를 가지고 있다.
Value Object
- 각 속성이 개별적으로 변화하지 않고 값 그 자체로 고유한 객체
- 다시 말해 불변 객체이다.
2. JAVA record class
- 불변 객체에 대한 표현 방식이다.
- final 멤버는 클래스 명 옆에 명시해두고 이를 헤더(Header)라고 한다.
- 암묵적인 final class이다.
- abstract 선언 및 extends 불가, 단 implements는 가능
- getter 메소드를 작성하는 대신 productID(), productPrice(), quantity() 등을 사용한다.
- 생성자 작성 X, toString, equals, hashCode 메소드에 대한 구현을 자동으로 제공 (일반적인 class는 재정의 해야만 사용자의 의도대로 사용할 수 있었다.)
3. 의존성(Dependency)
- 컴파일타임 의존성 : 코드를 작성하는 시점에서 발생하는 의존성. 클래스 사이의 의존성이다.
클래스 다이어그램에서 객체간 직접적으로 연결되어 있는 두 객체가 이러한 의존성을 가진다.
- 런타임 의존성 : 애플리케이션이 실행되는 시점의 의존성. 객체 사이의 의존성이다.
클래스 다이어그램에서 객체간 간접적으로 연결되어 있을 때 이러한 의존성을 가진다.