검색
검색
공개 노트 검색
회원가입로그인

제14장: 객체지향 프로그래밍 입문

객체지향 프로그래밍(OOP)란 무엇인가

현실 세계에는 다양하고 독립적인 것들이 존재합니다. 프로그래밍 역시 현실을 닮아, 복잡한 문제를 작은 단위의 객체로 나누고, 이들이 서로 소통하게 만듭니다. 이런 접근방식을 객체지향 프로그래밍(Object-Oriented Programming, OOP)이라고 부릅니다. 객체 하나하나는 자신의 정보(속성)와 행동(메서드)을 가지고 있습니다. 자동차를 예로 들면, 색상이나 모델명은 '속성', 주행이나 정지는 '행동'에 해당합니다.

파이썬에서 객체와 클래스

파이썬은 객체 지향 언어입니다. 즉, 여러분이 사용하는 거의 모든 것이 객체로 존재합니다. '클래스'는 객체를 만들기 위한 설계도라고 할 수 있습니다. 예를 들어, 여러 명의 학생을 다루려면 '학생'이란 클래스를 먼저 만들고, 각 학생은 이 클래스를 바탕으로 생성된 객체(인스턴스)가 됩니다. 클래스 내부에는 학생의 이름, 나이 같은 속성과 자기소개 같은 행동을 정의합니다.

class Student:
    def __init__(self, name, age):
        self.name = name      # 속성
        self.age = age        # 속성
    def introduce(self):      # 행동(메서드)
        print(f"안녕하세요, 저는 {self.name}이고 {self.age}살입니다.")

stu1 = Student("민지", 20)
stu1.introduce()  # 출력: 안녕하세요, 저는 민지이고 20살입니다.

객체지향이 왜 중요한가

작은 프로그램에서는 단순한 코드만으로도 충분하지만, 규모가 커지면 구조화와 재사용이 중요해집니다. 객체지향 프로그래밍은 코드의 반복을 줄이고, 기능별로 분리해 설계할 수 있게 합니다. 유지보수가 편해지고, 새로운 기능 추가도 쉬워지죠. 파이썬은 이런 장점을 자연스럽게 누릴 수 있도록 지원합니다.

주요 객체지향 개념 한눈에 보기

  • 캡슐화: 객체의 속성과 행동을 하나로 묶어 외부에서 불필요한 부분은 숨깁니다.

  • 상속: 기존 클래스를 바탕으로 기능을 확장해 새로운 클래스를 만들 수 있습니다.

  • 다형성: 같은 이름의 메서드라도 객체의 종류에 따라 다르게 동작할 수 있습니다.

마무리

파이썬에서의 객체지향 프로그래밍은 현실의 문제를 더 자연스럽게 표현하고 크게는 소프트웨어의 구조까지 바꿔줍니다. 클래스를 자유롭게 만들고, 객체를 조립하는 연습을 해보면, 어렵던 개념들이 점차 익숙해질 것입니다.

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 18
heart