저장을 습관화

230828 TIL - 객체 지향 프로그래밍이란 본문

공부/TIL

230828 TIL - 객체 지향 프로그래밍이란

ctrs 2023. 8. 28. 19:02

객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화시켜 상태(특성)와 행위(기능)를 가진 '객체'로 만들고, 객체들 간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.
(예를 들어, 자동차는 객체이고 출발, 정지, 운행 및 제동과 같은 기능을 수행한다고 할 수 있다.)

이를 통해 현실 세계의 개념과 구조를 프로그램에 반영하며, 코드의 가독성과 유지보수성을 높이는 목적을 가진다.

객체 지향 프로그래밍은 추상화, 캡슐화, 상속, 다형성의 특징을 가지고 있다.
추상화 - 객체에서 공통된 속성과 행위를 찾아 타입을 정의한다.
불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단히 만들 수 있다.

캡슐화 - 객체의 내부 상태와 구현 세부 사항을 외부로부터 감춘다.
데이터 구조와 데이터를 다루는 변수와 함수, 메소드를 클래스라는 하나의 캡슐로 묶어
재활용을 원활하게 하고, 낮은 결합도를 유지할 수 있도록 설계한다.

상속 - 클래스의 속성과 행위를 하위 클래스에 물려주고, 하위 클래스가 상위 클래스의 속성과 행위를 물려받는 것을 말한다.
새로운 클래스가 기존 클래스의 데이터와 연산을 이용할 수 있어 코드의 재사용성을 높인다.

재사용으로 인해 작성해야할 코드가 줄어들 수 있으나 상위 클래스의 변경이 함부로 적용되기 어려워진다는 단점이 있다.

다형성 - 하나의 변수, 함수가 다양한 객체에서 다르게 동작할 수 있다.(하나의 클래스 내부에 같은 이름의 행위를 여러개 정의하거나 상위 클래스의 행위를 하위 클래스에서 재정의하여 사용할 수 있다.)
이를 통해 코드의 유연성과 확장성을 높일 수 있다.

위와같이 클래스 단위로 모듈화시켜 개발할 수 있다는 특징을 가지고 있어 업무 분담이 편리하고 대규모 소프트웨어 개발에 적합하다는 장점이 있다.

'공부 > TIL' 카테고리의 다른 글

231002 TIL - DTO  (0) 2023.10.02
230824 TIL - 쿠키와 세션, 둘의 차이점  (0) 2023.08.24
230823 TIL - 브라우저의 작동방식  (0) 2023.08.23
230822 TIL - CORS란  (0) 2023.08.22
230821 TIL - HTTP 메소드란  (0) 2023.08.21