왜.... 오셨나요?

부끄러워요

개발관련공부자료

객체지향 프로그래밍

와피했는데 2023. 9. 22. 19:29

 * 프로그램 설계방법론이자 개념의 일종
 * 프로그램을 서로 상호작용하는 객체를 기본 단위로 구성하는 방식

 

<절차지향과 객체지향>
 // 절차지향 : 프로그램의 순차적인 처리를 위주로 설계하는 방법론 
 // 객체지향 : 서로 상호작용하는 객체를 기본 단위로 구성하는 방법론 

 

 <객체지향의 등장배경 및 절차지향의 한계점>
// 물리적인 하드웨어의 발전이 빠르게 진행되었으며, 소프트웨어의 중요성이 빠르게 올라감 
// 기존 절차지향의 방식으로는 복잡한 구조에 대한 설계가 힘들어졌으며 객체지향의 방식이 대안이 됨

 <객체지향의 장단점>
// 장점 : 1. 객체단위로 관리하기 때문에 디버깅이 유리함
              2. 상속을 통해 코드의 재사용성이 좋음
              3. 잘 설계된 클래스를 만들어서 독립적인 객체를 사용함으로 생산성을 향상
// 단점 : 1. 객체지향언어는 절차지향언어에 비해 실행속도가 느림
             2. 설계에 시간이 많이 소비되며 신중해야함

<객체지향 4특징>
// 캡슐화 : 객체를 상태와 기능으로 묶는 것을 의미하며, 객체의 내부 상태와 기능을 숨기고, 허용한 상태와 기능만의 액세스 허용
// 다형성 : 부모클래스의 함수를 자식클래스에서 재정의하여 자식클래스의 다른 반응을 구현
// 추상화 : 관련 특성 및 엔터티의 상호 작용을 클래스로 모델링하여 시스템의 추상적 표현을 정의
// 상속 : 부모클래스의 모든 기능을 가지는 자식클래스를 설계하는 방법 (가상함수와 가상함수테이블)

<객체설계 5원칙>
// (S)단일 책임 원칙 : 객체는 오직 하나의 책임을 가져야 함
// (O)개방 폐쇄 원칙 : 객체는 확장에 대해서는 개방적이고 수정에 대해서는 폐쇄적이어야 함
// (L)리스코프 치환 원칙 : 자식클래스는 언제나 자신의 부모클래스를 대체할 수 있어야 함
// (I)인터페이스 분리 원칙 : 인터페이스는 작은 단위들로 분리시켜 구성하며, 사용하지 않는 함수는 포함하지 않아야 함
// (D)의존성 역전 원칙 : 객체는 하위클래스(상위클래스를 구현한 객체)보다 상위클래스(추상성이 높은 상위 개념)에 의존해야함

'개발관련공부자료' 카테고리의 다른 글

자료구조  (0) 2023.10.05
기업의 CS 적성 정리  (0) 2023.09.25
메모리 구조  (0) 2023.09.22
클래스 (Class)  (0) 2023.09.22
함수(Function)  (0) 2023.09.22