Object Oriented Programming의 줄임말로 '객체 지향 프로그래밍'을 뜻한다.
컴퓨터 프로그램 설계 철학으로 프로그램을 명령어들의 모임으로 보는 시각에서 벗어나 여러개의 독립 단위, 즉 '객체'의 모임으로 파악하려고 하는 것이다.
이는 프로그래밍을 사람이 현실 세계를 보고 이해하는 방법을 흉내 낸 방법론이다.
(때문에 사람이 이해하기 쉬울 수 있음.)
OOP는 4가지의 중요한 특징이 있다.
캡슐화, 추상화, 상속성, 다형성 이렇게 4가지의 특성이다.
캡슐화는 데이터와 기능을 하나의 단위로 묶는 것을 말한다. (속성과 기능을 하나의 객체 안에 만드는 것)
캡슐화의 특징은 다음과 같다.
추상화는 내부 구현이 복잡한데, 실제로 보여지는 부분을 단순하게 만든다는 개념이다.
추상화의 특징은 다음과 같다.
상속성은 상위 클래스(부모 클래스)의 특징을 하위 클래스(자식 클래스)가 물려받는 것을 말한다.
추상화의 특징은 다음과 같다.
상속성을 이용하면 이미 정의된 상위 클래스의 모든 속성과 메소드를 다시 정의하지 않고도 자신의 속성과 메소드로 사용할 수 있다.
다형성은 뜻 그대로 다양한 형태를 가질 수 있는 것을 말한다.
다형성의 특징은 다음과 같다.
다형성의 가장 중요한 의미는 조건을 거는 대신 객체의 특성에 맞게 다르게 작성하는 것이 가능하다는 것이다.
4가지의 특성 모두 사용자가 좀 더 편하게 코드를 작성 할 수 있게 한다.