개발/JAVA

[JAVA] 객체와 객체지향 프로그래밍

mabb 2022. 5. 19. 10:05
반응형

 안녕하세요. 삶의 질을 높이고자 노력하는 영차영차입니다.
자바 기본기를 탄탄히 다지기 위한 공부 목적 포스팅입니다.
이것이자바다, HeadFirstJava 등의 교재와 구글링을 토대로 본인의 이해를 위해 작성하였으며
계속해서 살을 붙여나갈 계획입니다.
틀린 부분이 있을 경우 댓글 남겨주시면 감사하겠습니다.
---------------------------------------------------------------------------------------------------------

WHY
-객체 간의 상호작용으로 프로그램을 만드는 것이 유지, 보수 측면에서 효율적이다.

 

계란후라이를 만드는 프로그램을 만든다면...

절차지향적 방법 
1. 계란을 준비한다
2. 가스렌지에 후라이팬을 올린다.
3. 중불에서 1분간 예열한다.
4. 계란을 후라이팬에 깨 넣는다.
5. 3분 기다린다.
6. 반숙 계란 후라이 완성

완성된 계란후라이를 식탁에 올렸으나 노른자가 반숙이라 여자친구가 실망을 한다.
5번 절차 다음에 뒤집어서 강불로 2분을 더 익히는 절차를 추가하여 방법을 수정한다.
하지만 이번에는 계란을 뒤집기 전에 소금과 후추를 약간 뿌려달라는 요청이 들어온다.
4번 절차 다음에 소금, 후추를 뿌리는 절차를 추가하여 방법을 수정한다.
다음에는 삶은 계란을 해달라고 하여 삶은 계란 만드는 방법을 새롭게 구상한다.


객체지향적 방법
1. 요리사를 고용한다.
2. 각종 재료도구, 조리방법을 요리사에게 제공한다.
3. 입맛에 맞게 완성된 계란후라이를 받는다.

요리사 객체는 조리도구 객체와 재료 객체를 매개변수로 받아 조리방법 메서드를 실행하고 요리를 리턴한다. 조리 시간 등의 정보는 필드에 저장이 되어있다. 조리도구 객체는 조리도구에 대한 정보를 가지고 있으며 걍약 조절등의 기능을 수행할 수 있다. 결국 요리 재료객체와 조리도구 객체와 요리사 객체의 상호작용으로 요리가 만들어진다. 

 

---------------------------------------------------------------------------------------------------------

계란 후라이를 만드는 한 단계 한 단계의 절차에 초점을 맞춘 것이 절차지향적 방법이라면 계란 후라이를 만들기 위해 필요한 객체(요리사, 도구)에 초점을 맞춘 것이 객체지향적 방법이다. 요리사라는 객체는 재료 손질부터 조리 도구를 다루는 방법과 각종 조리법등을 알고 있다. 가스렌지라는 객체는 강약을 조절할 수 있는 기능이 있으며 후라이팬, 냄비, 찜기 등의 도구를 얹어서 굽기, 삶기, 찌기 등의 조리를 할 수 있다. 
-> 객체지향적 방법에서는 각각의 객체의 상호작용을 통해 일이 처리된다. 새로운 요청 사항이 생겨도 전체의 방법을 수정할 필요가 없이 수정이 필요한 객체만 건드리면 된다.

 

객체지향프로그래밍에는 중요한 요소가 있음.
상속, 구현, 오버라이드, 다형성, 캡슐화

 

 

반응형

'개발 > JAVA' 카테고리의 다른 글

[JAVA] 클래스_ 필드, 생성자, 메서드  (0) 2022.05.19
[JAVA] 클래스  (0) 2022.05.19
[JAVA] 선언문,반복문, 조건문  (0) 2022.05.19
[JAVA] 연산자  (0) 2022.05.19
[JAVA] 변수는 무엇인가_원시타입, 참조타입  (0) 2022.05.19