0. 객체지향의 중요성
= 객체지향은 유지보수와 개발을 쉽게 해주기에 클라우드 시대에도 중요하다
1. 객체지향 발상의 전환
1) 객체지향의 정의와 목표인 유연한 소프트웨어가 중심
2) 점보다 선으로 접근하라
2. 기능 중심 개발 : 코드 품질 저하
- 기능중심 개발이 코드에 끼치는 영향
1) 코드 중복
= 카피앤 페이스로 기존에 있던걸 쓰지만 문제가 발생하거나 버그가 발생하면 전부 바꿔야한다.
2) 코드 속성과 행동의 과도한 노출
-> 결합도를 낮출때 외부에 노출되지 않게 은닉해야 할 시 문제 발생
-> 따라서 의존성이 증가된다.
3)코드 배치의 일관성이 없다
-> 가독성 저하
4) 사이드 이펙트 발생
-> 유지보수의 지장이 생긴다
5) 코드 재사용이 어려움
3. 유연한 소프트웨어
= 고객이 원하는 기능의 정확한 구현 + 유연한 구성
[특징]
1) 코드 중복이 적다
2) 코드 속성과 메소드의 캡슐화가 잘 되어 있다.
3) 의존성 감소 가독성이 좋다
4. 관계의 의존성은 낮게 / 기능의 집중도는 높게
5. 객체지향의 목표
- 낮은 의존성과 높은 기능의 집중도를 지향
- 소프트웨어 유연함을 극대화하는 개발 기법
6. 객체지향의 구현 대상은 현실세계
= 각 구성요소들을 어떻게 작동하는지 확인이 필요
: 합체로봇을 생각하면 이해하기 쉽다
7. 점보다 선으로 접근한다
= 객체 하나하나 보다 객체 간 협력관계로 접근해야한다.
-> 로직보다 인터페이스에 더 집중
참고 : 객체지향 프로그래밍
객체지향의 사실과 오해 - 위키북스
'개발자이야기' 카테고리의 다른 글
기능 분산 (0) | 2021.02.19 |
---|---|
[프로그램이란] (0) | 2020.12.01 |
모르는 것을 인정하는 용기 (0) | 2020.11.25 |
업무 룰 (0) | 2020.11.24 |
sm과 si의 개발자의 차이 (0) | 2020.07.08 |