[TIL] 1일차

myminimin·2023년 7월 16일
0

TIL

목록 보기
1/44
post-thumbnail

  1. 인터페이스, 인터페이스를 상속받는 클래스, 상속받은 클래스를 이용해 CRUD를 담당하는 클래스, JDBC Util를 모아놓은 클래스, 실행을 담당하는 메인 클래스
  2. @param, Parameter란?
  3. Java의 'List' 컬렉션 인터페이스란? 👈
  4. 오늘 공부한 1,2,3을 이용해서 조원들에게 나눠줄 프로젝트 가이드 라인 만들어보기
    -> GuideLine Project (Create, Read 까지 정상 실행 확인)

기존 실습에서 배웠던 건 DAO, DTO, MAIN 이렇게 3개만 나뉘어져있어 MAIN에서는 실행을 할 때 사용하는 메서드들이 있었고, DAO에는 CRUD를 담당하는 메서드가 따로 있었다. 그래서 Main, DAO 모두 JDBC를 연결해서 메서드 상단에 계속해서 선언을 해야하는 불편함이 있었다.

실습에서야 C,R,U,D 4개정도의 메서드를 사용하는 것이 끝이기 때문에 중복으로 선언, 사용될 코드가 많지 않아 그렇게 사용했을 지 몰라도 언젠가 규모가 있는 프로젝트를 진행하게 됐을 때를 생각해서

  1. JDBCUtil
    : 드라이버를 로드하고 데이터베이스 연결 설정, 리소스 해제등의 공통적인 작업을 여기에서 처리
    1. Interface CusDAO
      : 고객 데이터 작업을 담당하는 메서드들을 정의
    2. CusDAOImpl
      : 'CusDAO' 인터페이스를 구현해서 실제로 고객 데이터 작업을 처리한다. 데이터베이스에 연결하고 쿼리 실행하고 결과를 처리하는 역할을 담당
    3. CusDTO
      : 고객 데이터를 담는 데이터 전송 객체
    4. CusMain
      : 메인 애플리케이션 클래스로 프로그램의 시작점. 다른 클래스들을 생성하고 메서드를 호출해서 전체적인 흐름을 관리하고 실행. 사용자 입력을 받아서 고객 데이터를 추가, 수정, 삭제, 조회하는 등의 기능을 수행하면서 필요한 클래스들과의 상호작용을 조율.

이렇게 각자가 담당하는 역할을 부여해 구분을 뒀다. 현재는 고객의 정보를 CRUD 하는 기능밖에 없지만 나중에 예를 들어 넷플릭스를 만든다고 생각해봤을 때 유저, 관리자, 히스토리 등등의 테이블들이 추가가 되면 자바에서도 그에 따른 클래스들이 추가가 될텐데 그때마다 JDBC 연결 과정을 메서드 위에 선언할 필요 없이 JDBCUtil.Connection 이라던지 JDBCUtil.close 를 사용하면 되니까 코드의 '재사용성'과 오류가 떴을 경우 Util Class에서 들어가 수정을 하면 되니 '유지보수성'도 올랐다고 볼 수 있을 것 같다 😃

2개의 댓글

comment-user-thumbnail
2023년 7월 16일

잘봤습니다.

답글 달기
comment-user-thumbnail
2023년 7월 17일

저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!

답글 달기