PHP 주요레퍼런스/객체지향 프로그래밍

객체지향 프로그래밍의 특징

웹 개발자의 비상 2011. 10. 24. 11:11

1. 추상화
: 어떤 대상이 가진 복잡하고 구체적인 사실이나 내용보다는 문제를 해결하기 위한 관점에서 그것이 가진 근본적이고 본질적인 것을 추려내는 과정이다. 즉 어떤 사물이나 개념으로부터 그것이 가진 상태와 동작을 객체로 모델링 하는 과정

2. 상속성
: 새로운 클래스를 설계할 때 모든 것을 처음부터 정의하는 것이 아니라 이미 만들어 놓은 클래스 중에 새로 만들고자 하는 클래스와 유사한 클래스가 있으면 이클래스로부터 기본적인 데이터와 함수를 물려받고 여기에 새로운 클래스에서 필요한 데이터와 함수만을 추가하여 만드는 개념

3. 캡슐화
: 정보를 은폐한다.
클래스 사용자의 입장에서는 불필요한 정보를 숨김으로써 사용방법과 기능을 쉽게 이해하고 활용할 수 있도록 하고, 개발자의 입장에서는 자신이 개발한 클래스의 내부 자료구조와 알고리즘을 외부에서 함부로 접근할 수 없도록 차단하기 위한 것

4. 다양성과 동적 바인딩
: "같지만 같지 않은것, 같지 않지만 같은은 것"에 대한 통일된 하나의 인터페이스를 제공하기 위한 방법을 제공하는 개념
자식클래스에서 부모클래스와 같은 이름으로 함수를 재정의해서 객체가 자식클래서의 동일 함수를 실행하게하는 방법이다.
ex) 그림(부모클래스, 그림을 그리다(함수))
삼각형(자식클래스, 그림을 그리다(함수)), 사각형(자식클래스, 그림을 그리다(함수), 원 ......

오버라이딩 -> 위와 같이 동일함수를 재정의 하는 것
오버로딩 -> 동일한함수명을 갖지만 매개변수를 달리해서 해당 형태의 매개변수를 갖는 함수가 실행되도록 하는 것
728x90

'PHP 주요레퍼런스 > 객체지향 프로그래밍' 카테고리의 다른 글

소멸자 __destruct()  (0) 2011.10.24
생성자 __constructor()  (0) 2011.10.24
$this 참조  (0) 2011.10.24
멤버 접근 제한자  (0) 2011.10.24
클래스의 정의 및 인스턴스의 생성  (0) 2011.10.24