본문 바로가기
IT기술노트/소프트웨어공학

객체지향 (Object-Oriented)

by 비트코기 2021. 1. 31.

Entity, Attribute, Method, 캡추다정상


I. 현실세계의 객체 표현한 개발 방법, 객체지향의 개요

가. 객체지향 (Object-Oriented)의 정의

   - 현실세계에 존재하는 객체(Entity)를 속성(Attribute)와 메소드(Method)가 결합된 형태의 객체(Object)로 표현하는 개념


II. 객체지향의 구성도 및 구성요소

가. 객체지향의 구성도

나. 객체지향의 구성요소

구분

설명

객체 (Object)

- 문제 영역에서 잘 정의된 역할을 가지고 각각 구분할 수 있는 단위, 개체, 품목을 의미하는 것으로 데이터와 함수로 구성

클래스 (Class)

- 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추사화를 의미

- 객체를 생성 할 수 있는 구조와 정보를 가지고 있는 틀

- 동일한 클래스에서 생성된 객체들은 속성과 메소드에 대해 같은 정의를 가짐

인스턴스 (Instance)

- 클래스에서 생성된 객체로 하나의 클래스에서 생성된 캑체는 클래스가 구체화되어 클래스에서 정의된 속성과 성질을 가진 실제적인 객체로 표현된 것을 의미

메시지 (Message)

- 객체들 간의 상호작용 수단 (Sender, Receiver)

- 다른 객체에 특정 작업을 요청하는 신호

속성 (Attribute)

- 객체의 데이터

메소드 (Method)

- 객체의 행위 (함수, 메소드), 클래스로부터 생성된 객체를 사용하는 방법


 

III. 객체지향의 특징 (캡추다정상)

구분

개념

역할

특징

캡슐화

속성과 메소드를 하나의 객체로 구성하는 것

객체의 내부구조와 실체 분리 내부 변경이 프로그램에 미치는 영향을 최소화

데이터와 함수 은폐, 정보 은닉 구현 및 추상화 수단

추상화

공통 속성과 기능을 묶어 상위 클래스 구성

- SW 복잡도 낮춰줌

- 분석 용이 및 사용 간편

- 데이터추상화(type부여)

- 기능의추상화(method부여)

다형성

동일 인터페이스에 대해 필요에 따라 재구성

코드를 변경하지 않고 수정 및 확장 용이

- 오버라이딩

- 오버로딩

정보은닉

객체 내용을 외부에 철저히 은닉, 메시지로 객체와의 상호작용

- 객체의 내부구조,실체 분리

- 수정으로 인한 영향 최소화

- public : 외부사용가능

- private : 외부사용불가

상속성

슈퍼 클래스가 갖는 성질을 서브클래스에 부여

확장성을 확보할 수 있게 해주는 강력한 수단

클래스를 체계화 활 수 있으며, 기존의 클래스로부터 확장이 용이

 

반응형

'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글

클래스 다이어그램 (Class Diagram)  (0) 2021.01.31
UML 2.0  (0) 2021.01.31
UML(Unified Modeling Language)  (0) 2021.01.31
다형성 (Polymorphism)  (0) 2021.01.31
객체지향 설계원칙  (0) 2021.01.31
모듈화 (Modularity)  (0) 2021.01.31
소프트웨어 설계 (Software Design)  (0) 2021.01.31
도메인공학  (0) 2021.01.31

댓글