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
'Python' 카테고리의 다른 글
OOP - 주어진 문제 안에서 클래스를 식별하는 방법 (0) | 2023.07.02 |
---|---|
객체 지향 프로그래밍이란 (0) | 2023.07.01 |
Faker seed를 사용해봤습니다 (0) | 2023.05.15 |
Python에서 super() 함수의 이해 (0) | 2023.02.12 |