객체 지향 프로그래밍이란?
- 프로그래밍 로직을 상태와 동작으로 이루어진 객체로 만들고,
만들어진 객체들을 조합하여 프로그램을 만드는 것- 상태 => 변수
- 동작 => 함수
추상화(abstract)란?
- 현실이나 특정한 상황에서 사물이나 개념에 대하여
공통적인 특성이나 속성을 추출하여 단순화시키는 것
모듈화란?
- 기능들을 다른 것들과 구별될 수 있는 독립적인 기능으로 나누는 것
모듈화의 특징
- 다른 것들과 구별될 수 있는 독립적인 기능을 갖는 단위이다.
- 유일한 이름을 가져야 한다.
- 독립적으로 컴파일이 가능하다.
- 모듈에서 또 다른 모듈을 호출할 수 있다.
- 다른 프로그램에서도 모듈을 호출할 수 있다.
모듈화의 종류
- 용도가 비슷한 것끼리 묶어놓은 라이브러리 함수, 그래픽 함수
- 추상화된 자료, 서브루틴, 프로시저, 객체, 메서드
캡슐화란?
- 캡슐화 (= 은닉화)
- 내부의 동작 방법은 숨기고, 사용자에게는 사용 방법만을 알려주는 것.
(예시) 감기약
감기에 걸렸을 때 감기약을 먹으면 감기가 낫는 효과가 있는 것을 알려준다.
그런데, 감기약이 어떻게 감기를 낫게 해주는지는 먹는 사람이 알 필요는 없다.
먹는 사람은 그냥 먹으면 감기가 나을수 있는 지의 정보가 필요할 뿐이다.
인터페이스(Interface)란?
- 각각의 기능들이 있을 때, 관련된 부분에 대한 표준이 되는 규격