유튜브 리뷰 - 코딩의 실 아샬(03/11)

객체지향이란 무엇인가?

  • 객체지향을 얘기할 때 보통 클래스, 언어 위주로 얘기하지만 이번 주제는 패러다임에 대해 얘기한다.
  • 프로그래밍, 소프트웨어 개발을 우리가 왜하는가?
    • 문제를 해결하기 위해 개발을 한다.
    • 문제를 해결한다는 것은 무엇을 말하나?
      • 문제를 분석
      • 문제에 대한 해결방법을 찾고
      • 적용하여 해결
    • 각 문제 해결 과정마다 분류를 한다.
  • 개발을 통해 문제를 해결하는 과정을 어떻게하면 효율적으로 할 수 있을까? –> 객체지향 도입
  • 객체지향 패러다임은 모든 문제들을 잘게 나누어 각 나눈것들이 주체를 가지고 있고, 잘게 나누어진 주체를 해결하는 것이 효율적이기 때문에(부서 나눈 예시를 들어줌) 객체지향이라는 패러다임이 도입되었다.
  • 물론 객체지향이 만능이 아닌 함수형 프로그래밍이 도움이 되는 경우도 있다.
  • 문제들을 잘게 나누어 따로 해결하는 과정에서 협업이 불가피해지는데 협업을 잘 하는것도 중요하다.

  • 객체지향을 얘기할 때 보통 모든 것들을 객체화한다고 배웠다. 어떤 문제가 있으면 문제에 대한 주체도 객체이고, 해당 주체가 어떠한 동작을 하는것도 객체이고, 또 다른 객체와 어떠한 커뮤니케이션하는 과정도 객체라고 배웠다. 그래서 하나하나 클래스화 하고 인스턴스를 호출해서 사용하는 방식을 생각했다.
  • 영상에서 얘기하는것도 같은 얘기인데, 왜 사용하는지에 대한 생각은 안해봤었다. 영상을 보고나니 확실히 만능은 아니지만, 특히 큰 프로젝트 개발을 할 때 매우 효율적일것이라고 생각했다. 각 인원이 객체에 해당하는 솔루션을 도출해내고, 그 솔루션들끼리 잘 조화를 이루게 하면 되겠다. 그 과정에서 협업이 필수적이고 그 협업을 잘해야 좋은 결과물이 나오겠구나. 라고 생각이 들었다.

댓글남기기