Object Oriented Programming
객체지향의 특성
장점과 단점
- 상속을 통한 재사용과 시스템의 확장이 용이하다.
- 코드의 재활용성이 높다.
- 자연적인 모델링에 의해 분석과 설계를 쉽고 효율적으로 할 수있다.
- 사용자와 개발자 사이의 이해를 쉽게 해준다.
- 대형 프로그램의 작성이 용이하다.
- 소프트웨어 개발 및 유지보수가 용이하다.
- 프로그래밍 구현을 지원해 주는 정형화된 분석 및 설계 방법이 없다.
- 구현 시 처리 시간이 지연된다.
캡!상추다!
캡슐화
- 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것을 의미한다.
- 캡슐화된 객체의 세부 내용이 외부에 은폐되어,
변경이 발생할 때 오류의 파급효과가 적다.
- 캡슐화된 객체들은 재사용이 용이하다.
상속
- 이미 정의된 상위 클래스의 모든 속성과 연산을 하위클래스가 물려받는것
- 상속을 이용하면 하위 클래스는 상위 클래스의 모든 속성과 연산을 자신의 클래스 내에서 다시 정의하지 않고서도 즉시 자신의 속성으로 사용할수 있다.
추상화
- 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화 하는것, 즉 모델화 하는 것이다.
- 데이터의 공통된 성질을 추출하여 슈퍼 클래스(프로토타입)를 선정하는 개념이다.
다형성
- 메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 잇는 능력을 의미
- 객체들은 동일한 메소드 명을 사용하며 같은 의미의 응답을 한다.