객체지향관련 질문입니다
171
작성자 없음
안녕하세요 선생님 , 자바에 대해 깊이 학습하고자 다시 기초부터 배우고있는 주니어 개발자입니다. 다름이 아니라 현재 목차에서 데이터와 기능들이 분리되어 있는것은 유지보수 관점에서 힘들기때문에 그 둘을 묶기위한 설계가 객체지향이라고 이해를 했는데요. 스프링 관점에서 보면 데이터의 무결성을 지키기위해 데이터(dto) 와 서비스는 분리하는 설계를 하는것으로 알고있습니다. 일반 자바와 스프링은 조금 다른 시각으로 바라봐야 할까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. yongjun413님의 질문에 대해 상세히 답변 드리겠습니다.
먼저, 객체지향 프로그래밍(OOP)의 기본 개념과 스프링 프레임워크에서의 설계 방식에 대해 이해가 필요할 것 같습니다. 객체지향 프로그래밍은 데이터와 그 데이터를 처리하는 메소드(기능)를 하나의 “객체”로 묶어서 관리하는 프로그래밍 패러다임입니다. 이는 코드의 재사용성을 높이고 유지보수를 용이하게 하는 등 여러 이점을 제공합니다.
스프링 프레임워크에서는 객체지향적 원리를 기반으로 하는 동시에, 애플리케이션의 규모가 커짐에 따라 유지보수와 확장성을 고려하여 설계합니다. 여기에는 “계층화된 아키텍처”를 적용하여, 각 계층(예: 컨트롤러, 서비스, 리포지토리)의 책임을 명확히 분리하는 것이 포함됩니다. DTO(Data Transfer Object)는 계층 간 데이터 교환을 위한 객체로 사용되며, 비즈니스 로직을 담당하는 서비스 계층과는 분리되어 관련 데이터를 전송하는 역할을 합니다. 이는 데이터의 무결성 보호 및 유지보수 편의성 향상에 기여합니다.
일반 자바 애플리케이션 설계와 스프링 설계는 핵심적인 객체지향 원리에 입각해 있다는 공통점이 있습니다. 하지만 스프링에서는 더욱 체계적이고 구조화된 방식을 통해 대규모 애플리케이션의 개발과 유지보수의 효율성을 높이는 데 초점을 맞추고 있습니다.
이러한 내용과 관련된 질문에 대한 좀 더 구체적 답변을 원하신다면, “객체지향 관련하여 질문드립니다.” 내용을 참조하시면 도움이 될 듯합니다. 여기에서는 객체지향에 대한 학습 방향과 스프링에서의 적용에 대해 더 심도 있는 논의가 이루어졌습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
진짜화면이랑달라서못해먹겟어요먹겟어요
0
51
1
강의 화면이 안나와요
0
75
1
문제2번
0
66
1
static 변수를 호출할때 인스턴스변수 호출하듯이 호출해도 되나요?
0
76
1
47번 리턴 관련 질문
0
64
1
문제2번
0
151
2
질문있습니다
0
86
1
1번 문제 질문입니다.
0
76
1
음악플레이어 문제 중 코드질문
0
69
1
9장 상속 문제와 풀이 질문
0
82
1
강의 자료에 사소한 오타가 있습니다.
0
97
2
매서드 참조값 반환??
0
114
1
접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드
0
117
1
자바 기본편 - .(dot)에 관한 질문입니다!
0
122
1
공부방법
0
144
2
상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?
0
120
1
static method 질문
0
99
1
캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요
0
127
1
Method1에서 Student 객체
0
109
1
3강 18. null 질문
0
99
1
this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?
0
111
1
팩토리 메서드 패턴과 일반 생성자 사용의 장단점
0
138
1
문의
0
137
1
9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다
0
124
1





