대충 정리

[대충 정리] sw아카데미 Spring 1일차

0taek 2023. 1. 24. 21:38

1. 비즈니스 모델 용어

Domain

사용자가 어플리케이션을 사용하는 영역이.. 해당 어플리케이션의 도메인이라고 한다.

 

Entity

- 시간의 흐름의 따라 지속적으로 변경되는 객체

- 다른 엔터티와 구별할 수 있는 식별자를 가지고 있다.

 

Value Object

- 각 속성이 개별적으로 변화하지 않고 값 그 자체로 고유한 객체

- 다시 말해 불변 객체이다.

주문자, 주문아이템, 배송지는 고유하지만 물건, 배송지, 주문자에 따라 주문의 내용은 달라진다.

 

 

2. JAVA record class

record 사용 전
record 사용 시

- 불변 객체에 대한 표현 방식이다.

- final 멤버는 클래스 명 옆에 명시해두고 이를 헤더(Header)라고 한다.

- 암묵적인 final class이다.

- abstract 선언 및 extends 불가, 단 implements는 가능

- getter 메소드를 작성하는 대신 productID(), productPrice(), quantity() 등을 사용한다.

- 생성자 작성 X, toString, equals, hashCode 메소드에 대한 구현을 자동으로 제공 (일반적인 class는 재정의 해야만 사용자의 의도대로 사용할 수 있었다.)

 

3. 의존성(Dependency)

- 컴파일타임 의존성 : 코드를 작성하는 시점에서 발생하는 의존성. 클래스 사이의 의존성이다.

클래스 다이어그램에서 객체간 직접적으로 연결되어 있는 두 객체가 이러한 의존성을 가진다.

 

- 런타임 의존성 : 애플리케이션이 실행되는 시점의 의존성. 객체 사이의 의존성이다.

클래스 다이어그램에서 객체간 간접적으로 연결되어 있을 때 이러한 의존성을 가진다.