객체지향 분석 모델

hannni·2023년 3월 12일
0
  • 객체지향 프로그래밍
    컴퓨터 소프트웨어를 구조적 코드 단위로 보는 것이 아니라 object 단위로 구분하고 object간의 모음으로 설계하는 것
    프로그램이 단순화되고 생산성, 신뢰성이 높아져 대규모 개발에 많이 사용된다

  • 객체지향 구성요소

    • Class
      유사한 객체를 정의한 집합으로 속성 + 행위를 정의한 것
    • Object
      데이터와 함수를 묶어 캡슐화하는 대상이 된다
      Class에 속한 Instance를 Object라고 한다
      • Attribute
        Object가 가지고 있는 데이터 값
      • Method
        Object의 행위인 함수
    • Message
      Object간에 서로 주고 받는 통신을 의미한다
  • 객체지향 5가지 특징

    • 캡슐화
      서로 관련성이 높은 데이터(속성)와 그에 맞는 기능(메소드, 함수)를 묶는 기법
    • 정보 은닉
      객체 내부의 속성과 메소드를 숨기고 공개된 인터페이스로를 통해서만 메시지 교환
    • 추상화
      공통 성질을 추출한 뒤 추상 클래스를 설정하는 기법
    • 상속
      상위 클래스의 모든 속상을 하위 클래스가 재정의 없이 물려 받는 것
    • 다형성
      객체가 다양한 모양을 가지는 성질을 의미
  • 객체지향 설계 원칙

    • 단일 책임의 원칙
      모든 클래스는 단일 목적으로 생성되고, 하나의 책임만 가져야 한다
    • 개방 폐쇠의 원칙
      확장에 대해서는 개방되어야 하나 수정에 대해서는 폐쇠적이어야 한다
    • 리스코프 치환의 원칙
      부모 클래스가 들어갈 자리에 자식 클래스를 대체하여도 계획대로 작동해야 한다
    • 인터페이스 분리 원칙
      클라이언트는 자신이 사용하지 않는 메소드와 의존관계를 맺으면 안 된다
    • 의존 역전의 원칙
      의존 관계를 맺으면 변하기 어렵고 변화 빈도가 낮은 것에 의존한다

0개의 댓글