Object Oriented Programming
- 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?
한 요소에 여러 개념을 넣어 놓은 것이다. 오버로딩(파라미터)과 오버라이딩(클래스)이 그 예시이다.
- What is Inheritance?
새 클래스가 기존 클래스의 자료와 연산을 이용하는 것이다. 이로 인해 코드 재사용 증가라는 장점을 가진다.
- What is Abstraction?
세상에 있는 문제들이나 개념의 속성을 뽑아내는 것을 의미한다.
(생각) 표현하기 어려운 문제나 개념, 객체의 속성을 뽑아내서 표현하는 것이다. 프로그래밍에서는 코드 작성을 추상화작업이라고 할 수 있을 것이다.