2주차 WIL

seongbin·2024년 12월 1일

GDSC

목록 보기
2/6

2주차 과제 : VO/DTO/DAO

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문 실행등)

내가 정의하는 스프링이란 ?

스프링은 자바 언어 기반의 프레임워크이고, 자바의 가장 큰 특징은 객체 지향 언어이다.
즉, 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크이다.
스프링은 제어의 역전, 의존관계 주입등을 지원하여 다형성을 극대화해서 이용할 수 있도록 도와준다.

어려웠던 점

명세를 너무 믿은 나머지 의심하지 않고 스프링 부트가 아닌 스프링으로 의존성을 추가해서 몇 시간동안 톰캣과 서블릿 디스패처의 에러와 싸웠다.. 그래도 두 가지를 조금이라도 공부할 수 있었으니,, 완전 럭키비키,,, (근데 이제 시험기간에ㅠㅠ)

앞으로의 계획

일단 시험을 다 보고, 종강하면 스프링 강의를 추가로 들을 생각이다.
종강한 내가 들을지는 모르겠지만, 이제는 열심히 살아야 할 것 같다.

2개의 댓글

comment-user-thumbnail
2024년 12월 9일

확실히 시험기간이다 보니 많은 시간을 투자한게 아까우면서도 좋은 경험인거 같아여ㅠ 그래도 이렇게 한 분야에 대해서 오랜 시간 공부하다보면 언젠간 도움되는 날이 잇을거라 생각합니다!

강의까지 추가로 들으신다니 좋네요… 확실히 프로젝트를 진행할 수 있는 역량을 갖추시기 위해 노력중이시군여 기대하겟습니다!

이번 미션도 수고 많으셧고 다음 미션이랑 시험도 화이팅 입니당

답글 달기
comment-user-thumbnail
2024년 12월 26일

시험 기간에 고생많으셨네요 흑흑
그래도 명세 덕분에(?) 스프링과 스프링부트 두 마리 토끼를 잡았네요 ㅎㅎ
항상 보면 열심히 하고 계신 것 같아요 남은 프로젝트트랙 일정도 화이팅이에요~!

답글 달기