Beny's Study

02) 객체 지향 언어 (추상화,통합모델링언어) 본문

[JAVA]/07. 객체지향

02) 객체 지향 언어 (추상화,통합모델링언어)

76beny 2022. 4. 6. 15:22

객체지향언어

1) 주요특징

-코드의 재사용성이 높다(기존코드 이용가능, 유지보수 용이)

-코드의 관리 용이

-신뢰성이 높은 크로그래밍 기능(제어자,메서드이용)

 

추상화 (Abstraction)

정의 : 프로그램이 필요로 하는 실제 데이터들을 모델링하는 기술

■ 유연성을 확보하기 위해 구체적인 것은 제거

과정 : 프로그램에서 필요한 공통점을 추출->불필요한 공통점은 제거

 

[클래스vs객체vs추상화]

추상화 : 객체에서 필요로 하는 데이터와 동작들을 정리하는 과정

클래스 : 추상화한 내용을 정리한 설계도

객체 : 클래스를 실제 하용한 크로그램 상에서의 결과물

 

추상화 예시

Q. 국가에서 국민정보 관리용 프로그램을 만들려고 할때, 프로그램에서 요구되는 국민 한사람의정보를 추상화 한다면?

1. 프로그램에 어떠한 대상의 정보가 수집됨

[회원관리 프로그램]

국민(대상) : 이름,성별,주민번호,주소,전화번호,나이 등등(정보)

 

2. 1번에서 추상화한 결과물을 객체지향 프로그래밍 언어를 사용해서 변수명(데이터이름)과 자료형(데이터타입)으로 정리.

항목 변수명 자료형(type)
주민등록번호 pNo String
이름 name String
성별 gender char
주소 adress String
전화번호 phone String
나이 age int

 

3. 2번에서 정리된 변수명과 자료형을 클래스다이어그램으로 표현

person
-pNo : String
-name : String
-gender : char
-adress : String
-phone : String
-age : int

■ 위에 네모 전체 = 클래스

■  변수명들 앞에 붙어있는 - =데이터접근제한자

■  위의 클래스에 기능을 넣게됨.

 

통합모델링언어 (UML : Unified Modeling Language)

■ 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어

   1997년 OMG(Object Management Group)에서 표준으로 채택한 통합모델링 언어

모델을 만드는 표준언어, 또는 설계도를 그리기 위한 언어

■ 목적

1) 의사소통 또는 설계논의를 위해

2) 전체 시스템의 구조 및 클래스의 의존성 파악을 위해

3) 유지보수를 위한 설계의 back-end문서 제작을 위해

 

통합모델링언어 _클래스다이어그램

■ 정적다이어그램으로 클래스의 구성요소 및 클래스간의 관계를 표현하는 대표적인 UML

■ 시스템의 일부 또는 전체의 구조를 나타낼 수 있음.

클래스 다이어그램의 대표적인 예
통합 모델링 언어(UML)

 

 


"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.

이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우

민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."

 

'[JAVA] > 07. 객체지향' 카테고리의 다른 글

06. 클래스 접근제한자  (0) 2022.04.07
05. 캡슐화  (0) 2022.04.07
04.객체(생성->할당->사용)와 인스턴스  (0) 2022.04.06
03.클래스 (Class)  (0) 2022.04.06
01) 객체지향 프로그래밍  (0) 2022.04.06