객체지향 프로그래밍 (OOP)
- 실 세계의 개체(Entity)를 속성(Attribute)와 메소드(Method)가 결합된 형태의객체(Object)로 표현하는 개념
- 구현 대상을 하나의 객체로 보고 객체와 객체들 간의 관계 모델링
캡슐화 (Encapsulation)
- 속성과 메소드를 하나로 묶어 객체로 구성
- 재사용성, 정보은닉, 종속성 최소화
추상화 (Abstraction)
- 공통 성질을 추출하여 수퍼클래스로 구성
- 안정된 모델 구축
다형성 (Polymorphism)
- 동일한 이름의 여러 메소드를 다른 사양으로 정의
- 오버로딩 : 매개변수의 수 또는 타입을 달리하여 구분
- 오버라이딩 : 부모 클래스의 메소드를 재정의
상속성 (Inheritance)
- 부모 클래스의 속성과 메소드 상속
- 부모와 자식 클래스 간의 관계가 수퍼클래스와 서브클래스로 유지