오늘 배운 것
OOT 기법
객체 지향 프로그래밍(OOP)이란?
객체 지향 프로그래밍은 코드를 객체라는 논리적 단위로 구조화하는 프로그래밍 패러다임
객체는 데이터(속성)와 그 데이터를 처리하는 메서드(함수)를 하나의 단위로 묶은 것
OOP의 주요 특징
- 캡슐화: 데이터와 메서드를 하나의 단위로 묶어 외부로부터 보호
- 상속: 기존 클래스의 특성을 새로운 클래스가 물려받을 수 있음
- 다형성: 같은 이름의 메서드가 다른 기능을 수행할 수 있음
왜 OOP로 리팩토링을 하는가?
- 코드 구조화: 관련 기능을 하나의 클래스로 묶어 코드를 더 논리적으로 구조화할 수 있다.
- 재사용성: 클래스를 만들면 다른 프로젝트에서도 쉽게 재사용할 수 있다.
- 유지보수: 기능별로 메서드를 분리하여 수정이 필요한 부분만 쉽게 찾아 변경할 수 있다.
- 확장성: 상속을 통해 기존 클래스를 확장하여 새로운 기능을 추가하기 쉽다.
OOP를 구성하는 방법과 알고리즘을 구성하는 방법의 유사점
- 문제 해결: OOP와 알고리즘 모두 문제 해결을 위한 접근 방식입니다.
- 단계적 접근: 알고리즘 구성과 OOP 설계 모두 문제를 작은 단위로 나누고, 이를 단계적으로 해결하는 접근 방식
- 계획 및 설계: 알고리즘과 OOP 모두 효과적인 결과를 위해서는 계획과 설계가 중요
차이점
- 목적의 차이: 알고리즘은 특정한 문제를 해결하기 위한 명확하고 구체적인 단계의 집합
- 추상화 수준: 알고리즘은 일반적으로 더 낮은 수준의 데이터 처리와 연산에 집중하는 반면, OOP는 데이터와 행동을 추상화하여 실제 세계의 개념을 모델링하는 데 더 집중
- 재사용성 및 확장성: OOP는 코드의 재사용성과 확장성을 강조
알고리즘은 특정 문제에 대한 해결책을 제공 다만, 그 자체로는 재사용성과 확장성이 제한적
OOP와 알고리즘 구성은 모두 소프트웨어 개발의 필수적인 요소이지만, 각각의 접근 방식과 목적에는 차이가 있다. 알고리즘은 특정 문제를 효과적으로 해결하는 데 집중하는 반면, OOP는 보다 큰 규모의 소프트웨어 시스템을 구축하는 데 사용되며, 객체를 통해 데이터와 행동을 캡슐화한다. 따라서, 두 방법은 서로 보완적으로 작용할 수 있으며, 효과적인 소프트웨어 설계를 위해 함께 사용될 수 있다.
'TIL' 카테고리의 다른 글
본 캠프 40일차 TIL (0) | 2024.08.02 |
---|---|
본 캠프 39일차 TIL (0) | 2024.08.01 |
본 캠프 37일차 TIL (0) | 2024.07.30 |
본 캠프 36일차 TIL (0) | 2024.07.29 |
본 캠프 35일차 TIL (0) | 2024.07.28 |