객체지향 언어에서 꽃은 클래스라고 생각한다. 오늘은 클래스에 대해서 다시 복습을 해볼 것이다.
Python 클래스
클래스는 객체를 표현하기 위한 문법으로 체크박스, 스크롤바 같은 특정한 개념이나 모양이 존재하는 것을 객체라고 한다. 이렇게 객체를 사용한 프로그래밍 언어를 객체지향이라고 한다. 자주 사용되는 List, 딕셔너리 등 모두 각자의 용도의 맞게 만들어진 클래스들이다.
클래스는 두가지로 구분된다. 1. 속성 / 2. 메소드 이다. 속성의 경우 매개변수를 받고 사용하기 위한 값을 정의하고, 메소드는 만들어진 속성들을 이용해서 어떤 행위를 하는 실행 코드라고 생각하면 된다. 이해를 좀 더 쉽게 하자면, 메이플 게임을 예로 들면 되는데 , 게임에서 클래스(직업)이 있는데, 각각의 클래스(궁수, 전사, 도적, 마법사)가 있고, 그 안의 속성(운, 힘, 지능 등)이 있고, 각각의 메소드(스킬)이 있다고 생각하면 이해가 좀 더 될 것 같다.
# 클래스, 인스턴스 생성과 메소드 호출 하는 방법
class jobs: //클래스 생성
// 메소드 생성
def warrior(self):
print("찌르기!!")
def atcher(self):
print("활쏘기!!")
//인스턴스 생성
kim = jobs()
shin = jobs()
// 메소드 호출
kim.warrior()
shin.atcher()
위에서는 클래스(직업)를 만들고 , 각각의 인스턴스(전직)를 생성했으며, 인스턴스 메소드(스킬)을 쓰는 것을 볼 수 있다.
# 속성
이제는 위에 했던 거에서 속성을 추가를 해볼 것이다. __int__ 메소드를 introduce = Member('주먹 펴고', 120, "아델")처럼 인스턴스를 생성할 때 호출되는 특별한 메소들이다. 이렇게 인스턴스를 초기화하고 순서에 맞춰서 각 인수를 self.속성값으로 할당한다.
class jobs: //클래스 생성
#속성 생성
def __int__(self, name, level, jobs):
self.name = name
self.level = level
self.jobs = jobs
# 메소드 선언
def info(self):
print("게임 닉네임은 {0}이고, 레벨는 {1}, 직업은 {2}이다." .format(self.name, self.level, self.jobs))
# jobs의 Gchracter 인스턴스 생성
Gcharacter = jobs("주먹 펴고", 200, "아델")
# jobs의 Gchracter 인스턴스의 info 메소드 호출
Gcharacter = info()
'Programming > Python' 카테고리의 다른 글
[Python] Python 기반 웹 페이지 mariaDB로 생성한 데이터베이스 연동 (0) | 2025.01.15 |
---|---|
[Python] 람다 함수 (0) | 2024.12.29 |
[개념]packing 과 unpacking (1) | 2024.11.13 |
[Python] VPC 구축 (0) | 2024.07.10 |
[Python] 연산자 끼워넣기 (0) | 2024.05.07 |