본문 바로가기
TIL

본 캠프 38일차 TIL

by Data 학습자 2024. 7. 31.

오늘 배운 것

OOT 기법

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

객체 지향 프로그래밍은 코드를 객체라는 논리적 단위로 구조화하는 프로그래밍 패러다임

객체는 데이터(속성)와 그 데이터를 처리하는 메서드(함수)를 하나의 단위로 묶은 것

 

OOP의 주요 특징

  1. 캡슐화: 데이터와 메서드를 하나의 단위로 묶어 외부로부터 보호
  2. 상속: 기존 클래스의 특성을 새로운 클래스가 물려받을 수 있음
  3. 다형성: 같은 이름의 메서드가 다른 기능을 수행할 수 있음

왜 OOP로 리팩토링을 하는가?

  1. 코드 구조화: 관련 기능을 하나의 클래스로 묶어 코드를 더 논리적으로 구조화할 수 있다.
  2. 재사용성: 클래스를 만들면 다른 프로젝트에서도 쉽게 재사용할 수 있다.
  3. 유지보수: 기능별로 메서드를 분리하여 수정이 필요한 부분만 쉽게 찾아 변경할 수 있다.
  4. 확장성: 상속을 통해 기존 클래스를 확장하여 새로운 기능을 추가하기 쉽다.

OOP를 구성하는 방법과 알고리즘을 구성하는 방법의 유사점

  1. 문제 해결: OOP와 알고리즘 모두 문제 해결을 위한 접근 방식입니다.
  2. 단계적 접근: 알고리즘 구성과 OOP 설계 모두 문제를 작은 단위로 나누고, 이를 단계적으로 해결하는 접근 방식
  3. 계획 및 설계: 알고리즘과 OOP 모두 효과적인 결과를 위해서는 계획과 설계가 중요

차이점

  1. 목적의 차이: 알고리즘은 특정한 문제를 해결하기 위한 명확하고 구체적인 단계의 집합
  2. 추상화 수준: 알고리즘은 일반적으로 더 낮은 수준의 데이터 처리와 연산에 집중하는 반면, OOP는 데이터와 행동을 추상화하여 실제 세계의 개념을 모델링하는 데 더 집중
  3. 재사용성 및 확장성: 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