VO(value object) : 값을 표현하는 객체
class Color {
private final int red;
private final int green;
private final int blue;
public Color(int red, int green, int blue) {
if(0 <= red && red <= 255) {
this.red = red;
} else {
this.red = 0;
}
}
}
int, float 이렇게 변수 하나를 선언하는 것이 아닌 객체는 여러 개가 들어갈 수 있음
또 final로 설정해서 처음부터 값이 변하지 않도록 설정할 수 있음(상수)
→ 생성된다면 불변하며 확실한 값을 가지고 있기에 개발자는 후에 값이 변경되는 것을 걱정하지 않고 작성할 수 있다
DTO(data tranfer object) : 데이터 전송을 위해 사용되는 객체
전달해야하는 매개변수가 많을 때 이를 다 포함하는 객체로 넘겨주면 편함(ex. 학생의 이름, 전화번호, 이메일등을 넘기는 것보다 객체를 넘기는 경우)
VO와 다르게 경우에 따라 값이 변경되어 전달될 수도 있음(값이 불변하지 않음)
DAO(data access object) : 데이터 접근 객체
서비스 로직과 데이터베이스 로직을 분리하기 위해서 사용됨
즉 모든 데이터베이스 관련 로직은 DAO에서 이루어짐(crud, db 연결, sql문 실행등)
스프링은 자바 언어 기반의 프레임워크이고, 자바의 가장 큰 특징은 객체 지향 언어이다.
즉, 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크이다.
스프링은 제어의 역전, 의존관계 주입등을 지원하여 다형성을 극대화해서 이용할 수 있도록 도와준다.
명세를 너무 믿은 나머지 의심하지 않고 스프링 부트가 아닌 스프링으로 의존성을 추가해서 몇 시간동안 톰캣과 서블릿 디스패처의 에러와 싸웠다.. 그래도 두 가지를 조금이라도 공부할 수 있었으니,, 완전 럭키비키,,, (근데 이제 시험기간에ㅠㅠ)
일단 시험을 다 보고, 종강하면 스프링 강의를 추가로 들을 생각이다.
종강한 내가 들을지는 모르겠지만, 이제는 열심히 살아야 할 것 같다.
확실히 시험기간이다 보니 많은 시간을 투자한게 아까우면서도 좋은 경험인거 같아여ㅠ 그래도 이렇게 한 분야에 대해서 오랜 시간 공부하다보면 언젠간 도움되는 날이 잇을거라 생각합니다!
강의까지 추가로 들으신다니 좋네요… 확실히 프로젝트를 진행할 수 있는 역량을 갖추시기 위해 노력중이시군여 기대하겟습니다!
이번 미션도 수고 많으셧고 다음 미션이랑 시험도 화이팅 입니당