인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

김영한의 실전 자바 - 기본편

절차 지향 프로그래밍3 - 메서드 추출

객체지향관련 질문입니다

작성

·

84

0

 안녕하세요 선생님 , 자바에 대해 깊이 학습하고자 다시 기초부터 배우고있는 주니어 개발자입니다. 다름이 아니라 현재 목차에서 데이터와 기능들이 분리되어 있는것은 유지보수 관점에서 힘들기때문에 그 둘을 묶기위한 설계가 객체지향이라고 이해를 했는데요. 스프링 관점에서 보면 데이터의 무결성을 지키기위해 데이터(dto) 와 서비스는 분리하는 설계를 하는것으로 알고있습니다. 일반 자바와 스프링은 조금 다른 시각으로 바라봐야 할까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. yongjun413님의 질문에 대해 상세히 답변 드리겠습니다.

먼저, 객체지향 프로그래밍(OOP)의 기본 개념과 스프링 프레임워크에서의 설계 방식에 대해 이해가 필요할 것 같습니다. 객체지향 프로그래밍은 데이터와 그 데이터를 처리하는 메소드(기능)를 하나의 “객체”로 묶어서 관리하는 프로그래밍 패러다임입니다. 이는 코드의 재사용성을 높이고 유지보수를 용이하게 하는 등 여러 이점을 제공합니다.

스프링 프레임워크에서는 객체지향적 원리를 기반으로 하는 동시에, 애플리케이션의 규모가 커짐에 따라 유지보수와 확장성을 고려하여 설계합니다. 여기에는 “계층화된 아키텍처”를 적용하여, 각 계층(예: 컨트롤러, 서비스, 리포지토리)의 책임을 명확히 분리하는 것이 포함됩니다. DTO(Data Transfer Object)는 계층 간 데이터 교환을 위한 객체로 사용되며, 비즈니스 로직을 담당하는 서비스 계층과는 분리되어 관련 데이터를 전송하는 역할을 합니다. 이는 데이터의 무결성 보호 및 유지보수 편의성 향상에 기여합니다.

일반 자바 애플리케이션 설계와 스프링 설계는 핵심적인 객체지향 원리에 입각해 있다는 공통점이 있습니다. 하지만 스프링에서는 더욱 체계적이고 구조화된 방식을 통해 대규모 애플리케이션의 개발과 유지보수의 효율성을 높이는 데 초점을 맞추고 있습니다.

이러한 내용과 관련된 질문에 대한 좀 더 구체적 답변을 원하신다면, “객체지향 관련하여 질문드립니다.” 내용을 참조하시면 도움이 될 듯합니다. 여기에서는 객체지향에 대한 학습 방향과 스프링에서의 적용에 대해 더 심도 있는 논의가 이루어졌습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기