본문 바로가기
전공공부/소프트웨어공학

객체지향 방법론

by 으노으뇨 2021. 11. 1.
728x90
반응형
SMALL

학습순서

  • 객체지향과 절차지향
  • 객체지향 기법의 구성요소
  • 객체지향의 원리
  • 객체지향의 개념과 객체지향 프로그래밍 언어(JAVA)

객체지향의 배경

  • 객체지향 기법은 절차지향 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택되어 사용되었다.
  • 컴퓨팅 환경에 대한 보다 많은 기능, 단순성, 재사용성, 사용 편의성 등에 대한 사용자 요구가 증가됨

객체지향 vs 절차지향

절차지향이란?

- 하나의 커다란 작업을 여러개 작은 작업으로 분할하고, 분할된 각각의 소작업을 수행하는 함수를 작성하여, 프로그램의 절차에 따라 함수를 호출하는 형태로 진행하는 기법
- 데이터와 그 데이터를 변화시키는 함수로 구성되어있다.

구성 : 데이터와 그 데이터를 변화시키는 함수

절차지향 : 프로그램 = 데이터 + 함수

객체지향이란?

- 현실 세계의 객체를 기계의 부품처럼 하나의 객체로 만들어, 기계적인 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 때에도 객체들을 조립해서 작성할 수 있도록 하는 기법이다.
- 실세계의 개체를 속성과 메소드가 결합된 형태의 객체로 표현하는 개념이다.
- 실세계의 문제영역에 대한 표현을 소프트웨어 해결영역으로 매핑하는 방법으로 객체 간에 메시지를 주고 받는 형태로 시스템 구성된다.
- 각 객체는 고유 데이터와 데이터를 처리할 수 있는 메소드로 구성된다.

구성 : [객체 = 데이터 + 메소드 ( 함수 ) ]            [ 프로그램 = 객체 + 객체 ]

장점 - 현실 세계를 모형화하여 사용자와 개발자가 쉽게 이해 할 수 있다.
 (데이터를 원활하게 주고받으니 쉽게 이해할 수 있고 구조적으로 되니까!)
- 자연적인 모델링이 가능하다
- 소프트웨어 재사용률이 높아진다.
- 소프트웨어 유지보수성이 향샹된다.

객체지향 기법의 구성요소

객체

객체 실세계에서 어떤 구체적 의미를 구성하는 하나의 실체 단위로 특정사물 및 개념이다.
필요로 하는 데이터와 그 위에 수행되는 메소드가 수행할 수 있는 기능들을 묶어 놓은 소프트웨어 모듈
데이터 객체가 가지고있는 정보로 속성이나 상태, 분류등을 나타낸다.
속성, 상태, 변수, 상수 자료구조라고도 한다.
메소드(함수) 객체가 수행하는 기능으로 객체가 갖는 데이터를 처리하는 알고리즘
객체의 상태를 참조하거나 변경하는 수단이 되는 것으로, 메소드, 서비스, 동작, 연산이라고도 한다.
기존의 구조적 기법에서의 함수, 프로시저에 해당하는 연산
객체의 특성 객체는 속성과 행동을 가지고있으며, 객체의 행동은 자신이 수행하는 오퍼레이션으로 구성된다.
객체는 상태를 유지할 수 있어야 하며, 기능을 가져야 한다.
객체는 다른 객체와 구별할 수 있는 식별자를 가지고 있으며, 일정한 기억장소를 가지고있다.
객체의 메소드는 다른객체로 부터 메시지를 받았을 때 수행된다.

클래스 ( = 붕어빵을 만드는 형판, 테두리) 즉 이거먼저만들어야함 ㅋ

클래스 객체는 항상 클래스로부터 생성된다. 즉, 클래스는 객체를 생성하는 형판이다.
클래스는 2개의 구성요소인 자료구조와 연산을 가진다.
클래스로 부터 생성된 객체를 인스턴스라 하며, 클래스로부터 새로운 객체를 생성하는 것을 인스턴스라 하며, 클래스로 부터 새로운 객체를 생성하는 것을 인스턴스화 라고 한다.
정보처리의 주체는 클래스가 아니라 객체이다.
객체지향 프로그래밍의 시작은 클래스의 생성이다.
최상위 클래스는 상위 클래스를 갖지 않는 유일한 클래스를 의미한다.
슈퍼(super)클래스는 특정 클래스의 상위(부모) 클래스이고, 서브클래스는 특정 클래스의 하위(자식) 클래스를 의미한다.

클래스로부터 객체의 생성 예 (JAVA언어)

STUDENT student = new STUDENT("김은호","남자","응용소프트웨어공학과","2학년");
//객체이름 : student 
//객체생성 명령 = new STUDENT
//클래스이름 : STUDENT
//매개변수 데티어 : 김은호, 남자, 응용소프트웨어공학과, 2학년


메시지

메시지 메시지는 객체들 간에 상호작용을 하는데 사용되는 수단으로, 객체의 메소드를 호출하는 외부의 요구사항이다.
메시지 구성요소 - 메시지를 받을 객체의 이름
- 송신객체가 실행을 원하는 수신객체의 메소드이름
- 실행을 원하는 메소드에 전달할 매개변수(인자, 필요할 때만 사용)

최초 메시지가 도착을 하면

메소드와 객체고유데이터에서 상위 클래스로 타고타고 올라간다. 그리고 탐색이후 상속을 통해 하위클래스로 메소드를 내려주어 처리할 수 있도록 한다.

 

728x90
반응형
LIST

'전공공부 > 소프트웨어공학' 카테고리의 다른 글

객체지향 기법의 생명주기  (0) 2021.11.08
객체지향의 원리  (0) 2021.11.01
소프트웨어 설계  (0) 2021.10.27
기출문제(1)  (0) 2021.10.13
구조적 분석 도구  (0) 2021.10.13

댓글