객체 지향 프로그래밍이란? 

  객체지향 프로그래밍(Object-Oriented Programming)은 좀 더 나은 프로그램을 만들기 위한 프로그래밍 패러다임으로 로직을 상태(state)와 행위(behave)로 이루어진 객체로 만드는 것이다. 이 객체들을 마치 레고 블럭처럼 조립해서 하나의 프로그램을 만드는 것이 객체지향 프로그래밍이라고 할 수 있다.

라는 너무너무너무너무 어려운 말이 적혀있다.

그래서 좀 더 쉽게 풀어서 적어보면!


객체지향프로그래밍 = 실세계 지향프로그래밍

 

실제 세계의 일부를 프로그램으로 표현할 수 있도록 만들어진 소프트웨어 개발 방식 입니다.



병원을 예로 들어보도록 하겠습니다.  

01.

객체 = 담당자 = '클래스'


- 담당자가 가지고있는 속성과 역할을 명시해놓은 추상적 정의 

실세계에서 서비스(역할)을 담당하는 것=담당자
- 객체끼리는 상호작용이 가능합니다.


ex) 병원세계

객체 : 실세계에서 원무과 직원, 의사, 간호사, 환자


02.

객체란?


추상적 정의인 클래스를 실체로 만들어 낸 것


※객체화=인스턴스화

- 클래스를 객체로 만드는 과정 입니다.


02.

클래스 멤버변수


클래스(담당자)가 반드시 가져야할 것 : Field , 멤버변수

ex) 의사는 환자의 병적을 조회하기 위해, 컴퓨터가 필요하다.

※ has a

- 멤버변수는 "클래스가 가진다"라고 표현 

- 의사 has a 청진기


03.

메소드


클래스(담당자)가 하는 역할(행동) : Method

ex) 의사가 환자를 조회한다.  

의사가 환자를 진료한다. 

의사가 처방전을 작성한다.


다음은 의사의 행동을 예로 프로그래밍을 해보도록 하겠습니다.

의사라는 클래스에서 의사의 역할(메소드)를 정의 하였습니다.



의사 클래스를 객체화 시켜 의사가 할 수 있는 역할(메소드)를 실행 하겠습니다.


결과 화면



 객체지향 프로그래밍은 개념이 매우 중요합니다. 그러기 위해서는 많은 연습이 필요한데요 각자 실세계에서 이뤄지는 상황을 보고 충분히 많은 연습을 하시면 되겠습니다.


※연습문제

1. 커피숍 바리스타가 하는 역할을

클래스와 메소드로 표현해라.


//커피숍의 커피원두를 선별한다

//고객의 주문을 받는다

//커피머신을 작동시킨다
 
//원두를 로스팅해 에스프레소를 추출한다

//주문한 커피메뉴를 제조한다 


2. 쇼핑몰에 방문한 고객의 역할

3.영화관에서 티케팅하는 사람의 역할

4. 편읜점에서 캐셔의 역할

5 병원에서 업무과 직원이 환자를 접수 시키는 과정 


1. 번과 같이 2,3,4,5번의 문제도 실세계에서 이뤄지는 과정을 최대한 자세하게 표현 해보세요~




'Programing > Java' 카테고리의 다른 글

JAVA 흐름제어문 (break문, contunue문, return문)  (0) 2018.12.12
객체지향의 특징 요약  (0) 2016.12.18
자바 환경변수 설정 방법  (0) 2016.12.01

+ Recent posts