파이썬 객체지향 프로그래밍(OOP) 완전정복 | 클래스, 상속, 캡슐화까지 한 번에 이해하기
파이썬을 처음 배울 때는 변수와 함수만으로 프로그램을 구성하지만, 실무나 프로젝트 규모가 커질수록 코드 관리가 점점 어려워진다. 이때 필요한 개념이 바로 객체지향 프로그래밍이다. 객체지향 프로그래밍(OOP, Object Oriented Programming)은 프로그램을 단순한 명령어의 나열이 아닌 ‘객체’ 중심으로 바라보는 사고방식이다. 객체란 데이터와 기능을 하나로 묶은 단위이며, 현실 세계의 사물이나 개념을 코드로 표현한 것이다. 객체지향의 핵심은 크게 세 가지로 정리된다. 첫째, 캡슐화. 관련된 데이터와 기능을 하나의 객체로 묶어 외부 접근을 제한하는 개념이다. 둘째, 상속. 기존 코드를 재사용하면서 새로운 기능을 확장할 수 있도록 하는 기능이다. 셋째, 다형성. 같은 이름의 메서드가 객체에 따라 다른 동작을 하는 성질을 말한다. 이 세 가지 개념을 이해하면 코드를 효율적이고 유지보수하기 쉬운 구조로 만들 수 있다. 클래스와 객체의 기본 개념 클래스(Class)는 설계도이고, 객체(Object)는 그 설계도로부터 만들어진 실제 제품이라고 할 수 있다. 예를 들어 자동차 설계도가 클래스라면, 실제 우리가 타는 자동차는 객체다. 아래는 간단한 예시이다. Car라는 클래스를 만들고, 브랜드와 색상을 초기화한다. 그런 다음 drive 메서드를 통해 자동차가 출발하는 동작을 표현한다. 예시 코드 설명 class Car: 클래스를 선언한다. def init(self, brand, color): 생성자 함수로 브랜드와 색상을 초기화한다. def drive(self): 자동차가 출발했다는 문장을 출력한다. my_car = Car(“Hyundai”, “black”) 으로 객체를 생성한다. my_car.drive() 를 호출하면 “black색 Hyundai 자동차가 출발합니다!” 라는 문장이 출력된다. 이처럼 클래스는 관련된 데이터와 행동을 하나로 묶어 표현한다. 캡슐화(Encapsulation) ...