(Data Access Object)와 Service 클래스는 애플리케이션에서 데이터베이스와의 상호 작용을 처리하는 두 가지 주요 구성 요소입니다. 이들의 차이점은 역할과 책임에 있습니다.
DAO(Data Access Object):
DAO는 데이터베이스와의 상호 작용을 담당하는 클래스입니다. 이 클래스는 데이터베이스 연결, 쿼리 실행, 결과 처리 등과 같은 데이터베이스 관련 작업을 수행합니다. 이를 통해 애플리케이션의 비즈니스 로직과 데이터베이스 작업을 분리하여 관리할 수 있습니다. 코드에서 MemberDao 클래스는 회원 정보를 관리하는 데이터베이스 역할을 하며, 회원 정보를 저장, 검색, 수정, 삭제하는 메서드를 제공합니다.
Service 클래스:
Service 클래스는 애플리케이션의 비즈니스 로직을 담당하는 클래스입니다. 이 클래스는 사용자의 요청을 처리하고, 필요한 경우 DAO를 호출하여 데이터를 가져오거나 저장하고, 결과를 반환합니다. 코드에서 MemberService 클래스는 사용자의 요청에 따라 회원 가입, 조회, 수정, 삭제와 같은 작업을 수행하며, 이를 위해 MemberDao 클래스를 사용합니다.
결론적으로, DAO 클래스는 데이터베이스와의 상호 작용을 처리하고, Service 클래스는 애플리케이션의 비즈니스 로직을 처리합니다. 이렇게 함으로써 데이터 접근과 비즈니스 로직을 분리하여 코드의 가독성과 유지 관리성을 높일 수 있습니다.
쉽게말해
Service안에 Dao가 속해있다고 생각하면된다.