자격증/정보처리기사 실기

정처기 실기 - 소프트웨어 개발 방법론 ( 객체 지향 분석 방법론)

비뀨_ 2023. 7. 9. 04:42

객체지향 개념

실제 세계의 개체를 속성 + 메서드의 객체로 표현하는 기법

 

객체지향 구성 요소

  • 클래스
    • 변수와 메서드를 정의하는 틀
    • 데이터를 추상화하는 단위
    • 하나 이상의 유사한 객체들을 묶어서 하나의 공통 특성을 표현
    • 속성 - 변수 , 행위 - 메서드
  • 객체
    • 물리, 추상적으로 자신과 다른 것을 식별 가능한 대상
    • 클래스에서 정의한 것을 토대로 메모리에 할당
    • 객체마다 상태와 식별성을 가짐
  • 메서드
    • 객체를 사용하는 방법
    • 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산
    • 함수 또는 프로시저에 해당하는 연산
  • 메시지
    • 객체 간의 상호 작용을 하기 위한 수단
    • 객체에게 어떤 행위를 하도록 지시하는 방법
    • 객체 간의 상호 작용은 메시지를 통해 이루어짐
    • 메시지는 객체에서 객체로 전달 됨
  • 인스턴스
    • 클래스를 통해서 만든 실체
    • 실제적으로 메모리에 할당하는 행위
  • 속성
    • 클래스 내에 속한 객체들이 가지고 있는 데이터 값
    • 성질, 분류, 식별, 수량 등에 대한 표현 값

객체 지향 기법

 

기법 설명
캡슐화 - 연관된 데이터와 함수를 묶어 외부와 경계를 만들고 필요한 인터페이스만 밖으로 드러냄
- 결합도가 낮아지고 재사용 용이
- 인터페이스 단순화
- 정보 은닉과 관계가 깊음
- 변경 발생시 오류 파급이 적음
상속성 - 상위 클래스의 속성과 메서드를 하위 클래스에서 재정의 없이 물려받아 사용하는 기법
다형성 - 상속받은 여러개의 하위 객체들이 다른 형태의 특성을 갖는 객체로 이용할 수 있는 성질
- 오버로딩, 오버라이딩이 대표적
추상화 - 공통 성질을 추출해 추상 클래스를 설정
- 과정, 자료, 제어 추상화가 있음.
정보 은닉 - 코드 내부 데이터와 메서드를 숨기고 공개 인터페이스를 통해서만 접근 가능
- Side-Effect들을 최소화
- 모듈 사이의 독립성을 유지하는데 도움이 됨
관계성 - 두 개 이상의 엔터티에서 데이터를 참조하는 관계를 나타내는 기법
- 종류 : 연관, 분류, 집단, 일반, 특수화가 있음

 

객체 지향 설계 원칙(SOLID 원칙)

  • 단일 책임 원칙 
    • 하나의 클래스는 하나의 목적을 위해서 생성. 
      클래스가 제공하는 서비스는 하나의 책임을 수행하는데 집중
    • 나머지 4가지 원칙의 기초 원칙
  • 개방 폐쇄 원칙
    • 소프트웨어의 구성요소(컴포넌트, 클래스,모듈, 함수)는
      확장에는 열려있고
      변경에는 닫혀있어야 함.
  • 리스코프 치환 원칙
    • 자식 클래스는 부모 클래스로 교체할 수 있어야 함.
  • 인터페이스 분리 원칙
  • 의존성 역전의 원칙