본문 바로가기
ETC/개발 지식

[Object] 객체지향 설계

by heekng 2022. 5. 10.
반응형

객체지향 설계

좋은 설계란?

  • 우리가 짜는 프로그램은 두가지 요구사항을 만족시켜야 한다.
    • 오늘 완성해야 하는 기능을 구현하는 코드
    • 내일 쉽게 변경할 수 있는 코드
  • 좋은 설계란? 오늘 요구하는 기능을 온전히 수행하면서 내일의 변경을 매끄럽게 수용할 수 있는 설계

객체지향 설계

  • 결국 좋은 코드, 즉 우리가 원하는 것은 변경에 유연하게 대응할 수 있는 코드이다.
  • 객체지향 프로그래밍은 의존성을 효율적으로 통제할 수 있는 다양한 방법을 제공함으로써 요구사항 변경에 좀 더 수월하게 대응할 수 있는 가능성을 높여준다.
  • 변경 가능한 코드는 이해하기 쉬운 코드이다.
    • 아무리 코드가 변경에 유연하다고 하더라도 이해하지 못하는 코드는 변경이 어렵다.
  • 객체지향 패러다임은 세상을 바라보는 방식대로 코드를 작성할 수 있도록 돕는다.
    • 객체지향은 예상하는 방식대로 객체가 행동하리라는 것을 보장함으로써 코드를 이해하기 쉽게한다.
  • 훌륭한 객체지향 설계란? 협력하는 객체 사이의 의존성을 적절하게 관리하는 설계이다.
    • 객체가 실행되는 주변 환경에 강하게 결합될수록 변경하기 어려워진다.
    • 객체간의 의존성은 애플리케이션을 수정하기 어렵게 만드는 주범이다.
반응형

'ETC > 개발 지식' 카테고리의 다른 글

[CleanCode] 3장 함수 - 1  (0) 2022.06.26
[CleanCode] 2장 의미있는 이름  (0) 2022.06.25
Cron 표현식  (0) 2022.06.24
[Object] 객체지향 프로그래밍 2  (0) 2022.05.16
[Object] 객체지향 프로그래밍 1  (0) 2022.05.16
[Object] 객체와 설계  (0) 2022.05.09