( Object Oriented Programming )
처음 절차적 프로그래밍은 메소드 + 변수로 쭉 나열된 방식이였다.
조금 더 편리한 관리와 효율성을 위해 메소드랑 변수를 CLASS 객체 안에 만들어 관리하기 시작한다.
그렇게 객체지향이 시작된다.
추상화 ( Abstraction ) : 공통적인 특징을 하나의 개념으로 다룬다.
캡슐화 ( Encapsulation ) : 의존도 설정. 결합도를 낮춘다. ( 낮을수록 좋다! )
Private : 현 클래스에서만 사용가능
Public : 모든 클래스 사용가능
상속성 ( Inheritance ) : 기능을 재사용 및 확장시 사용
다형성 ( Polymorphism ) : 요청을 하면 다른 방식으로 응답한다.
Ex. Update( String x ) , Update( Int x ) ⇒ 스트링 혹은 정수 업데이트를 같은 방식으로 요청하지만 다른 방식으로 응답하는 경우.