Python OOP(Object Oriented Programming) 객체지향 프로그래밍
프로그램이 복잡해지는 경우 프로그램을 효율적으로 작성할 필요가 있다.
이때 사용되는 개념들이 OOP와 Class 개념이다.
Class는 객체 지향 프로그래밍(Object Oriented Programming)을 위해 사용되는 것으로,
데이터(속성)와 메서드(처리)를 함께 사용할 수 있는 구조로 이루어져 있다.
OOP(객체지향 프로그래밍)
OOP란, 실체가 있는 모든 물체를 클래스와 인스턴스, 함수, 변수라는 object로
변화시켜서 프로그램을 구성하는 개발 방식을 의미한다.
최소비용으로 최대효율을 얻기 위해 개발됬고, 속성과 기능을 object라는 최소단위로 분리하는
프로그래밍의 패러다임을 의미한다.
하나의 패러다임일 뿐이기에 기존의 프로그래밍 패러다임(Procedural Programming, Functional Programming)과의
우열을 가릴 수는 없지만, 속성과 기능이 증가할 때마다 배열과 함수를
계속 생성해야 하는 경우에 소스코드를 보다 효율적으로 관리할 수 있다.
기본 지식을 채웠으니 Python에서 사용되는 Class 예시를 확인해보자.
#자동차 class를 작성
class Car:
#생성자 메서드를 사용하기 위해 __init__ 모듈을 작성
def __init__(self, make, model, year):
#인스턴스 초기화 변수를 작성
self.make = make
self.model = model
self.year = year
#변수가 실제로 초기화 되었는지 확인하기 위해 출력
def get_car_name(self):
print(f"Car: {self.year} {self.make} {self.model}")
# 인스턴스 초기화 값을 작성
my_car = Car("Toyota", "Corolla", 2020)
# 각 변수(속성)을 호출
print(my_car.year) # 2020
print(my_car.make) # Toyota
print(my_car.model)# Corolla
# 메서드 호출
my_car.get_car_name()
# Car: 2020 Toyota Corolla
클래스 정의
class 키워드를 사용하여 클래스를 정의한다.
클래스 이름은 첫 글자를 대문자로 시작한다.
생성자 메서드
__init__() 메서드는 클래스 인스턴스가 생성될 때 호출된다.
인스턴스 변수를 초기화하는 데 사용된다.
인스턴스 변수
self.make, self.model, self.year와 같은 변수는 각 인스턴스별로 고유한 데이터를 저장한다.
메서드
클래스 내에 정의된 함수로, 인스턴스에 대해 수행할 동작을 정의한다.
인스턴스 생성
클래스를 호출하여 객체를 생성한다.
생성자는 자동으로 호출된다.
속성 접근 및 메서드 호출
점 표기법(.)을 사용한다.
인스턴스 변수와 메서드에 접근할 수 있다.
'추가 공부 > Python' 카테고리의 다른 글
[python] Try-Except-Else-Finally 예시 (0) | 2024.12.03 |
---|---|
[pyplot] 한글 깨짐 설정 (0) | 2024.11.30 |
[Python] csv 모듈을 활용한 파일 입출력 (0) | 2024.11.27 |
[Python] Numpy 기초 (0) | 2024.11.25 |
[Python] 연산자 (2) | 2024.11.23 |