일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Python
- 개발언어
- 플라스크
- 개발자취업
- C언어
- 파이썬
- 장고 기초 강의
- mlops
- 장고
- docker
- 파이썬 장고
- c
- 기초강의
- c++
- 에어플로우 기초강의
- 예제프로젝트
- 도커 컴포즈
- airflow
- 쇼핑몰예제
- ADP
- 도커
- 개발자
- Django
- flask
- 웹개발
- cpp
- 인공지능
- 프로그래밍
- 장고 튜토리얼
- 파이썬강의
- Today
- Total
TITEDIOS Dev Note
Python 기초 강의: #4 파이썬 클래스 - 정의, 객체 생성, 생성자/소멸 본문
안녕하세요, 이번 강의에서는 파이썬의 클래스에 대해 알아보겠습니다. 클래스는 객체 지향 프로그래밍의 핵심 개념 중 하나로, 코드의 재사용성을 높이고 더 구조화된 코드를 작성하는 데 도움을 줍니다.
1. 클래스란 무엇인가?

클래스는 객체 지향 프로그래밍(Object-Oriented Programming, OOP)의 기본 개념 중 하나로, 객체의 특성과 동작을 정의하는 데 사용됩니다. 클래스는 객체를 생성하기 위한 청사진(blueprint) 역할을 하며, 객체는 클래스의 인스턴스(instance)라고도 합니다. 다음은 파이썬 클래스의 주요 개념과 예제를 통해 클래스를 설명하겠습니다.
2. 클래스 정의와 객체 생성하기
클래스 정의
파이썬에서 클래스는 class 키워드를 사용하여 정의합니다. 클래스 명은 같이 일하는 동료나 코드를 보는 사람이 직관적으로 이해할 수 있도록 작성하며 첫글자는 반드시 대문자로 작성합니다. 이름이 긴 경우 소문자와 대문자를 적절하게 사용하여 명명하도록 합니다.
''' 사람에 대한 클래스 작성
pass 구문을 통해 빈 클래스로 작성
'''
class Person:
pass
객체 생성

클래스를 사용하여 객체를 생성할 수 있습니다. 여러분이 작성한 클래스를 실제 동작하는 인스턴스(객체)로 만드는 과정입니다. 특정 변수에 클래스를 생성하여 인스턴스화(객체화)합니다.
이 과정의 이해가 좀 어려우실 수도 있습니다. 간단하게 생각하면 쿠키 레시피(클래스)에서 쿠키(객체/인스턴스)를 만들었다고 이해하시면 좀 쉬우실 수도 있습니다. 지금 이해가 가지 않더라도 너무 낙심마시고 계속 진행하셔도 괜찮습니다. 손가락과 끈기로 프로그래밍의 세계를 해쳐가시다 보면 자연스레 습득하실 수 있는 개념입니다.
''' 사람 클래서에서 실제 사람1을 생성'''
person1 = Person()
3. 클래스 속성과 메서드

클래스는 속성(변수)과 메소드(함수)를 가질 수 있습니다. 속성은 현재 클래스의 상태나 특정 정보 및 데이터를 가지고 있는 변수에 해당합니다. 메소드는 외부 요청이나 내부 상태 변화에 따라 클래스 내부에서 동작하는 활동을 의미합니다. 따라서, 클래스를 작성하실 때 정보나 상태에 해당하는 것은 속성(변수)로 어떤 동작이나 활동은 메소드(함수)로 작성하시면 됩니다.
class Person:
def __init__(self, name, age):
self.name = name # 속성(변수)
self.age = age # 속성(변수)
def greet(self): # 메소드(함수)
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
여기서 init 메서드는 특별히 생성자(constructor)로, 객체가 생성될 때 호출됩니다.
4. 생성자와 소멸자
생성자
init 메서드는 객체가 생성될 때 자동으로 호출되어 초기화를 담당합니다. 이전에 #2에서 사람 클래스를 사람1 객체를 생성하여 보았습니다. 이 사람1 객체를 생성할 때 생성자가 호출되어 객체의 초기상태를 설정하고 생성시 필요한 행위, 예를 들면 '시작합니다' 로그출력과 같은 작업을 수행합니다.
소멸자
del 메서드는 객체가 삭제될 때 호출됩니다. 객체가 더 이상 필요없어진 시점에 객체를 삭제할 경우 수행되며 수행될 때 남아있으면 안되는 정보나 '종료합니다' 로그출력과 같은 작업을 수행합니다.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
print(f"{self.name} 객체가 생성되었습니다.")
def __del__(self):
# self.name은 객체의 이름을 가지고 있는 내장 변수입니다.
print(f"{self.name} 객체가 삭제되었습니다.")
이번 강의에서는 파이썬 클래스의 기본 개념부터 객체 생성, 생성자와 소멸자에 대해 다루었습니다. 클래스를 활용하면 코드의 재사용성을 높이고 더 체계적인 코드를 작성할 수 있습니다.
다시 한번 말씀드리지만 지금 당장 이해가 가지 않더라도 좋습니다. 꾸준히 프로그래밍을 하시다보면 자연스레 이해하실 수 있습니다. 지금은 작성하는 방법 즉, 문법에 대해 집중하시고 이러한 것들이 자신에게 친숙해지길 기다려보시는것도 좋은 방법입니다.
때로는 나도 모르는 새에 나의 노력이 나에게 결실을 주기도 하니까요.
다음 강의에서는 더 고급 개념과 실습을 다룰 예정이니 기대해 주세요! 감사합니다.
'파이썬' 카테고리의 다른 글
Python 기초 강의: #6 파이썬 클래스 - 상속과 다형성 (2) | 2024.06.27 |
---|---|
Python 기초 강의: #5 파이썬 클래스 - 변수와 메소드 (0) | 2024.06.26 |
Python 기초 강의: #3 파이썬으로 간단한 계산기 만들기; for와 if 문 활용하기 (0) | 2024.05.09 |
Python 기초 강의: #2 기본 문법; for loop와 if statement (1) | 2024.05.08 |
Python 기초 강의: #1 환경 구성 (2) | 2024.04.30 |