본문 바로가기
반응형
오브젝트

Java 객체지향 프로그래밍(Object Oriented Programming)이란

by brightGarden02 2022. 12. 10.

객체지향 프로그래밍(Object Oriented Programming)란(What): 

객체지향 프로그래밍이란 객체에 역할을 부여하고 책임을 할당함으로 인해 협력관계를 만드는 것이다.

 

 

 

객체지향 프로그래밍(Object Oriented Programming)을 하는 이유(Why): 

유지보수하기 좋은 코드를 짜기 위해서

새로운 요구사항이 생겼을 때 코드를 쉽게 변경하기 위해서

 

 

 

객체지향 프로그래밍(Object Oriented Programming)을 하는 방법(How):

객체에 역할을 부여하고 책임을 할당함으로 인해 협력관계를 만들기 위해서 3가지 과정으로 나누어보았다.

 

 

1. 시나리오를 짠다.

예를 들어, 음식점에 고객이 가서 한식 메뉴에 있는 순대국을 주문하는 시나리오를 짠다.

 

 

2. 역할(Role), 책임(Responsibility), 협력(Collaboration)을 구성한다.

 

2-1) 역할(Role)

고객, 요리사, 서빙하는 직원, 음식점, 메뉴, 음식 등등 객체에 역할을 부여한다.

 

2-2) 책임(Responsibility)

고객은 음식 주문할 책임이 있다.

요리사는 요리를 할 책임이 있다.

서빙하는 직원은 요리사가 요리한 음식을 고객에게 전달할 책임이 있다.

 

2-3) 협력(Collaboration)

고객이 음식 주문을 한다.

서빙하는 직원은 음식 주문을 받아서 요리사에게 전달한다.

요리사는 주문한 음식을 요리를 한다.

요리사는 요리 후 서빙하는 직원에게 음식을 전달한다.

서빙하는 직원은 음식을 고객에게 전달한다.

 

 

3. 캡슐화, 추상화, 다형성, 상속성 등등을 통해 코드로 구현한다.

 

 

3-1) 캡슐화(Encapsulation)

실제 메서드의 동작을 외부에 알리지 않고 기능을 수행한다.

변수를 private 처리한다.

 

 

3-2) 추상화(Abstraction)

모든 객체를 클래스로 만들기 보다는, 추상적으로 큰틀의 클래스를 구현하고 싶을 때 사용한다.

 

 

3-3) 다형성(Polymorphism)

같은 책임을 가진다. 그러나 다양한 목적에 따라 다양한 책임을 수행하고 다양한 결과가 도출된다.

 

 

3-4) 상속(Inheritance)

클래스를 추가하고 싶은데 기존의 클래스와 비슷할 경우 사용한다.

 

 

 

 

추상화, 상속을 이용한 추상 클래스 

https://brightgarden02.com/entry/%EC%B6%94%EC%83%81-%ED%81%B4%EB%9E%98%EC%8A%A4%EB%9E%80What-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0Why-%EC%9E%A5%EC%A0%90-%EC%82%AC%EC%9A%A9%EB%B2%95How

 

추상 클래스란(What), 사용하는 이유(Why), 장점, 사용법(How)

추상 클래스란(What): 하나 이상의 추상 메소드를 포함하는 클래스이다. 추상 클래스를 사용하는 이유(Why): 코드를 재사용하기 위해 사용한다. 클래스를 추가하고 싶은데 기존의 클래스와 비슷할

brightGarden02.com

 

 

 

참고: 오브젝트책

댓글


반응형
반응형