본문 바로가기

Python

객체 지향 프로그래밍의 장점

OOP의 장점은 대표적으로 3개 있습니다.

 

  • modularity

 

 

OOP에서는 클래스를 사용해서 객체를 구현합니다.

클래스는 청사진 역할을 하는데, 이러한 청사진은 다른 프로그램, 다른 클래스들과는 독립적으로 움직입니다.

즉, 프로그램 전체를 고치지 않고 클래스 하나만 변경하는 것으로 쉽게 프로그램을 수정할 수 있습니다.

각각의 클래스, 정확히는 클래스로부터 만들어진 인스턴스는 서로 상호작용하지만 각각의 클래스는 각자만의 특정한 목적을 가지고 움직이며, 이 때도 서로는 독립적으로 움직입니다.

 

각각의 class는 레고라고 생각하면 편합니다.

  • reusablity

class는 청사진 역할을 합니다. class로 여러 개의 instance를 만들 수 있고, 이 class는 독립적이므로 다른 프로그램에서 재사용이 가능합니다.

 

  • extensibility

class는 상속을 통해서 method나 attribute를 overriding하거나 추가하는 것으로 기능을 확장할 수 있습니다.

위의 3가지 장점은 프로그램을 유지, 관리하기 쉽다는 네번째 장점으로 이어집니다.

적은 비용으로 빠르게 개발을 할 수 있도록 도와줍니다.

그리고 높은 품질의 소프트웨어를 만들 수 있게 됩니다.

각각 작은 단위로 나눠서 관리하기 때문에 버그가 발생하면 버그가 발생한 클래스만 수정하면 되고

테스트도 작은 단위로 하기 때문에 빠르게 테스트를 해서 품질을 유지할 수 있습니다.

 

Reference

Udemy Python OOP - Object Oriented Programming for Beginners