본문 바로가기
프로그래밍 패러다임/객체 지향 프로그래밍

Object Oriented Programming(객체 지향 프로그래밍)

by 시니성 2023. 7. 3.

Naver Cloud 개발자 양성과정 2기를 마치고, 취업준비를 하면서 그 동안 메인 프로젝트 때문에 바쁘다는 핑계로 차일피일 미뤄 왔던 기술 블로그 작성을 해보려 합니다.

 

제가 트레이너로 근무하던 시절.. 비록, 삼류 트레이너였지만 한 가지 철학이 있었습니다.

바로

' 기록없이는 기준이 없고, 기준이 없이는 성장이 없다 '


라는 철학 이었습니다.

 

그리고 지금도 이 생각엔 변함이 없어요.

그래서 지금부터 기록을 시작해 나갈텐데요!

첫 번째 주제로 가장 기본 개념 중의 기본인 객체 지향 프로그래밍을 선택했습니다.

 

  1.  OOP란 무엇이며 왜 OOP를 사용하는가?
  2.  객체 지향의 4가지 특징
    • 추상화(Abstraction)
    • 다형성(Polymorphism)
    • 상속(Inheritence)
    • 캡슐화(Encapsulation)
  3. 객체 지향 설계 5대 원칙 SOLID
    • 단일 책임 원칙 (Single Responsibility Principle)
      • 하나의 클래스는 하나의 책임만 가진다.
    • 개방 폐쇄 원칙 (Open/Closed Principle)
      • 소프트 웨어 요소는 변경에는 닫혀있데 확장에는 열려있어야 한다
    • 리스코프 치환 원칙 (Liskov Substitution Principle)
      • 어떤 객체를 하위 타입의 인스턴스로 치환시에도 프로그램은 정상 작동해야 한다.
    • 인터페이스 분리 원칙
      • 인터페이스는 일반적인 하나를 구현하기 보다, 구체적인 여러개의 인터페이스를 다중 구현하는 편이 좋다.
    • 의존 역전 원칙
      • 클래스끼리 의존관계나 연관관계를 맺을 경우 구체적인 클래스에 의존하지 말고 추상화 레벨이 높은 클래스에 의존하여야 한다.

앞으로 위와같이 객체 지향 프로그램을 크게 3가지 목차로 나누어서 글을 써볼까 합니다.

 

위 그림은 제가 교육과정에서 직접 그린 그림인데요 히히..

오개념이 있을 수 있지만 앞으로 이 그림을 가지고 객체지향을 설명해 보려고 해요.