///////
Search
🥑

객체 지향 프로그래밍을 왜 사용한다고 생각하시나요?

한 줄 정리

복잡한 프로그램의 경우 코드가 길어지게 되고, 절차 지향 프로그래밍을 사용하면 코드 내부의 함수와 자료형의 관계를 파악하기 어렵다. 이러한 특정 개념에 대한 함수와 자료형을 캡슐화 시키고, 코드의 재사용성, 생산성, 확장성을 높이기 위해서 객체 지향 프로그래밍을 사용한다고 생각합니다.

객체 지향 프로그래밍이란?

절차 지향 프로그래밍의 경우, 코드 내에서 특정 개념에 대한 자료형(속성)과 함수(행위)가 분리되어 있다
이러한 문제를 해결하기 위해서 특정 개념의 자료형과 함수를 묶는 객체 지향 프로그래밍을 개발했다
→ 특정 개념으로 묶는 행위를 캡슐화(Encapsulation)라 한다.

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

1. 캡슐화(Encapsulation)

특정 개념에 대한 함수와 데이터를 단일한 유닛으로 합치는 것
캡슐화를 통해 데이터를 숨겨 데이터의 변화를 최소화 한다.
은닉화(Data Hiding)

2. 추상화(abstraction)

객체들의 공통적인 특징(함수, 데이터)를 도출하는 것
클래스를 정의하는 것

3. 상속성(Inheritance)

상위 클래스의 함수와 데이터를 하위 클래스가 이어받는 것
기존 코드를 재활용 할 수 있어 확장성이 늘어난다

4. 다형성

한 객체가 다른 객체로 재구성 되는 것
Override, Overload 가 대표적인 예시

객체 지향 프로그래밍의 장점

캡슐화, 다형성, 상속을 통해 코드의 재사용과 확장이 용이하다
유지보수가 뛰어나다
→ 캡슐화를 통해서 객체의 변경을 최소화 할 수 있다.

참조