Private/PROGRAMMING

Object Oriented Programming

익명132 2017. 9. 4. 14:11


- What is Object Oriented Programming?

컴퓨터 프로그램을 객체들의 모임으로 파악하는 것이다. 객체들은 함수와 데이터로 이뤄져 있다. 각각은 메세지를 주고 받을 수 있고, 데이터를 처리한다.

OOP is a programming paradigm where the software operates as a bunch of objects.


Why OOP?

상속을 통해 코드 재사용이 증가한다. 

또한 유지 보수에 드는 cost를 감소할 수 있다.

better manageable code.


- What is Encapsulation?

불필요한 정보를 숨기고 중요한 정보만 표현한다.

객체, 메소드로 다양한 정보를 하나로 묶어 표현할 수 있다. 


(생각) 데이터와 함수들을 하나로 묶어 관리할 수 있고, 사용자가 알 필요가 없는 것들을 숨길 수 있다.

Data hiding(restrict access) , Bundling of data and methods together.

- What is Polymorphism?

한 요소에 여러 개념을 넣어 놓은 것이다. 오버로딩(파라미터)과 오버라이딩(클래스)이 그 예시이다.



(생각) 하나의 상자에 여러 의미를 부여하는 것. 나라는 객체는 학교에서는 학생의 의무를, 집에서는 딸의 의무를 다한다.
some behave differently in different contexts.

- What is Inheritance?

새 클래스가 기존 클래스의 자료와 연산을 이용하는 것이다. 이로 인해 코드 재사용 증가라는 장점을 가진다.


(생각) 클래스 사이에 관계를 형성하고, 기존 클래스의 자료와 연산을 이용하면서 코드를 재사용할 수 있다.
class is based on another class and uses data of the other class.

- What is Abstraction?

세상에 있는 문제들이나 개념의 속성을 뽑아내는 것을 의미한다.


(생각) 표현하기 어려운 문제나 개념, 객체의 속성을 뽑아내서 표현하는 것이다. 프로그래밍에서는 코드 작성을 추상화작업이라고 할 수 있을 것이다.