본문 바로가기
소프트웨어공학/정보처리기사

[정보처리기사 필기] 프로그래밍 언어 활용 - 객체지향 기술

by javapp 자바앱 2022. 3. 26.
728x90

 

 

객체지향 기술

 

class

    유사한 객체를 묶어 하나의 공통된 특성 표현

    데이터를 추상화하는 단위

 

 

다형성

    연산이 같더라도 클래스가 다르면 전혀 다르게 수행되는 연산

    수평 + 수직

 

 

상속성

    수직 구조

    재사용성

    결합도 강해진다.

    정적 바인딩

 

 

재사용성 : 생산성에 가장 영향을 주는 요소

 

 

람바우

    객체 모형 → 동적 모형 → 기능 모형

    객체 식별 , 상태도 자료 흐름도

 

Coad와 Yourdon 방법

객체지향 분석 방법론 중 E - R 다이어그램 사용

 

Booch 방법

미시적 개발 프로세스 → 거시적 개발 프로세스

 

Jacobson

상호 작용 서술한 시나리오 접근

 

Wirfs - Brocks 방법

고객 명세의 평가 시작

설계로 끝남


객체지향 설계 원칙

    ISP

    DIP

    LSP

    SRP

    OCP

        확장에 열려있고 수정에 닫혀있다.

 

    객체지향 설계 프로세스는 시스템 구조를 설계

 

 

오버로딩

    하나의 클래스 안에서 동일한 이름을 가진 메소드를 사용하는 기술

    메소드 이름 같고

    인수 개수, 유형 다르면 오버로딩 가능

 

오버라이딩

    동일한 메소드명과 인수를 정의

    기능을 추가하거나 변경하여 다시 정의


UML

    Things + Diagram + Relationship

    Things

        Structure

        Behavior

        Annotation

        Group

 

    Structure Diagram 구조 다이어그램

        class 클래스 다이어그램

        Object 객체

            스냅샷

        패키지

            객체들 그룹화

        Component 컴포넌트

        복합 구조

        배치

 

    Behavior Diagram 행위 다이어그램

        유스케이스

        상태

        활동 Activity

        시퀸스

        통신 상호

        타이밍

 

    Association 연관 :        실선, 화살표

    Generalization 일반화 : 상속 관계, 빈 삼각형 화살표

    Aggregation 집약 :      빈 마름모

    Composition 복합 :      채워진 마름모


디자인 패턴

    생성 패턴

        Abstract Factory, Factory Method, Builder, Prototype, Singleton

    

    구조 패턴

        객체를 모아 구조화

        Adapter, Bridge, Composite, Decorator, Facade, Flyweight

        Facade

            서브 시스템 사이에 Facade 객체 세워놓음, 복잡한 관계 구조화

        Bridge

            구현 ,기능 분리

        Flyweight

            많은 유사한 객체 공유

    

    행위 패턴(그 외)

 

    Visitor 패턴

        기존 객체 구조 수정하지 않고, 새로운 기능 추가

 

    Observer

        통지, 자동 갱신

    

    Bridge 구조

        추상과 구현 분리

 

    Factory Method

        어떤 클래스가 인스턴스화 될 것인지 서브 클래스가 결정하도록 하는 것

        Abstract Factory를 사용

 

    Abstract Factory

        여러 개 연관된 서브 클래스를 특정 그룹으로 묶어 한 번에 수정

 

    디자인 패턴 구성 요소

        패턴 이름과 구분

        문제 및 배경

        사례

        샘플 코드

        솔루션

        결과


 

 

 

 

 

댓글