IT자료실/기술서적

오브젝트 - 기술서적 스터디 7단원-메시지와 인터페이스

Ramda 2023. 7. 24. 22:42

 

하향식 기능 분해

  • 프로그래밍 패러다임은 프로그래밍을 추상화로 만들기 위해 사용하는 추상화의 종류와 추상화를 이용해 소프트웨어를 분해하는 방법 두 가지 요소로 결정
  • 전통적인 기능 분해 방법은 하향식 기능 분해 방법
  • 하향식 기능 분해 방법 : 시스템을 최상위의 가장 추상적인 메인 함수로 정의하고, 메인함수를 구현 가능한 수준까지 세부단계로 분해하는 방법
  • 겉으로는 이상적인 방법으로 보일 수 있지만, 불귝칙하고 불완전한 문제를 만나면 큰 혼란이 발생

하향식 기능 분해의 문제점

  • 시스템은 하나의 메인함수로 이루어저 있지 않다
  • 기능 추가나 요구사항 변경으로 인해 메인 함수를 계속 수정
  • 비즈니스 로직이 사용자 인터페이스와 강하게 결합
  • 하향식 분해는 너무 이른 시기에 함수들의 실행 순서를 고정시키기 때문에 유연성과 재사용성이 저하
  • 데이터 형식이 변경될 경우 너무 많은 문제 발생

모듈의 장점과 단점

  • 모듈 내부 변수가 변경되더라도 모듈 내부에만 영향을 미친다
  • 비즈니스 로직과 사용자 인터페이스에 대한 관심사를 분리한다
  • 전역변수와 전역함수를 제거함으로 네임스페이스 오염을 방지한다
  • 위의 3가지가 장점이면, 치명적인 단점은 인스턴스의 개념을 제공하지 않는다는 점이다.

클래스

  • 클래스와 추상 데이터 타입은 다르다.
  • 추상 테이터 타입은 타입을 추상화한 것
  • 클래스는 절차를 추상화 한 것

이 단원은 과거에서 객체 지향을 어떻게 생각했는지 알아보는 단원으로 생각한다.
이 과정은 이러한 것들이 있다는 것만 알고 객체 지향 설계를 할 때는 앞에서 배운 내용대로 진행하자