객체 지향 프로그래밍이란?
객체지향 프로그래밍(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 |