객체지향 프로그래밍(OOP)의 장점
1. 모듈화와 재사용성
객체지향 프로그래밍에서는 프로그램을 여러 개의 객체 단위로 분리하여 설계할 수 있다.
각 객체는 독립적인 역할을 수행하기 때문에 하나의 기능을 모듈처럼 사용할 수 있으며, 이미 작성된 클래스는 다른 프로그램이나 기능에서도 재사용할 수 있다.
예를 들어 Character 클래스는 다양한 캐릭터를 생성하는 데 재사용할 수 있다.
2. 유지보수성
객체지향 프로그래밍은 캡슐화와 클래스 구조를 통해 코드의 변경 범위를 최소화할 수 있다.
특정 기능을 수정해야 할 경우 해당 클래스 내부만 수정하면 되기 때문에 코드 관리가 비교적 쉽고 유지보수가 용이하다.
3. 유연성과 확장성
상속과 다형성을 활용하면 기존 코드를 크게 수정하지 않고도 새로운 기능을 확장할 수 있다.
예를 들어 새로운 캐릭터를 추가하고 싶다면 Character 클래스를 상속받아 Mage 클래스를 새로 만들면 된다.
이처럼 기존 구조를 유지하면서 기능을 확장할 수 있다는 점이 객체지향 프로그래밍의 큰 장점이다.
4. 코드의 가독성
객체지향 프로그래밍은 현실 세계의 개념을 기반으로 설계하기 때문에 코드의 구조가 비교적 직관적이다.
클래스와 객체를 통해 프로그램의 역할과 관계를 명확하게 표현할 수 있어 코드의 가독성이 향상된다.
객체지향 프로그래밍은 코드의 재사용성과 유지보수성을 높이고, 프로그램을 보다 구조적으로 설계할 수 있도록 도와주는 중요한 프로그래밍 패러다임이다.
예시로 작성된 글만 보고 이해하기 쉽지 않다면 아래의 내용을 같이 보면 이해가 더 쉽게 될 수 있을 것이라 생각한다.
객체지향 프로그래밍(OOP)의 특징
객체지향 프로그래밍의 4가지 특징객체지향 프로그래밍에는 중요한 특징으로 추상화(Abstraction), 캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism) 총 4가지가 있다.추상화추상화는 객체의 중
devrabbit22.tistory.com
객체지향 프로그래밍(OOP)의 단점
1. 설계의 복잡성
객체지향 프로그래밍은 클래스와 객체, 상속 관계 등을 고려하여 설계를 해야 하기 때문에 초기 설계가 복잡해질 수 있다.
특히 프로그램의 규모가 커질수록 클래스 간의 관계를 설계하는 데 많은 시간이 필요하다.
2. 성능 오버헤드
객체지향 프로그래밍은 객체 생성, 메서드 호출, 동적 바인딩 등의 과정이 발생하기 때문에 절차적 프로그래밍에 비해 약간의 성능 오버헤드가 발생할 수 있다.
다만 현대 컴퓨터 환경에서는 대부분 큰 문제가 되지 않는 경우가 많다.
3. 학습 난이도
객체지향 프로그래밍은 추상화, 캡슐화, 상속, 다형성과 같은 개념을 이해해야 하기 때문에 처음 프로그래밍을 배우는 사람에게는 다소 어려울 수 있다.
특히 클래스 설계나 객체 간의 관계를 이해하는 데 시간이 필요하다.
4. 과도한 설계 가능성
작은 프로그램에서도 객체지향 구조를 지나치게 적용하면 클래스와 구조가 불필요하게 복잡해질 수 있다.
이 경우 오히려 코드의 이해도가 떨어질 수 있다.
'CS > 객체지향 프로그래밍' 카테고리의 다른 글
| 객체지향 프로그래밍(OOP)의 특징 (0) | 2026.04.08 |
|---|---|
| 객체지향 프로그래밍(Object-Oriented Programming)이란? (0) | 2026.04.07 |