728x90
클래스는 변수와 메소드를 가지고 있습니다.
해당 클래스로 새로운 객체를 만들면 그 객체는 해당 클래스의 변수와 메소드를 소유하게 됩니다
클래스로부터 만들어지는 것을 객체라고 합니다.
아래에서 guest는 People 클래스의 인스턴스 입니다.
__init__는 클래스의 생성자 역할을 합니다.
class People:
def __init__(self, name, age, weight):
self.name = name
self.age = age
self.weight = weight
print("{0}이 입장하였습니다.".format(self.name))
print("나이는 {0}, 몸무게는 {1} 입니다.".format(self.age, self.weight))
guest_1 = People("OWEN", 23, 80)
guest_2 = People("JOLLY", 19, 52)
출력결과
OWEN이 입장하였습니다.
나이는 23, 몸무게는 80 입니다.
JOLLY이 입장하였습니다.
나이는 19, 몸무게는 52 입니다
class People:
def __init__(self, name, age, weight):
self.name = name
self.age = age
self.weight = weight
print("{0}이 입장하였습니다.".format(self.name))
print("나이는 {0}, 몸무게는 {1} 입니다.".format(self.age, self.weight))
guest_1 = People("OWEN", 23, 80)
guest_2 = People("JOLLY", 19, 52)
print("이름 : {0}, 나이 : {1}, 몸무게 : {2}".format(guest_1.name, guest_1.age, guest_1.weight))
guest_1.adult = True
if guest_1.adult == True:
print("{0}은 성인입니다.".format(guest_1.name))
출력결과
OWEN이 입장하였습니다.
나이는 23, 몸무게는 80 입니다.
JOLLY이 입장하였습니다.
나이는 19, 몸무게는 52 입니다.
이름 : OWEN, 나이 : 23, 몸무게 : 80
OWEN은 성인입니다.
클래스 외부에서 객체에 변수를 만들어서 사용할 수 있습니다
class People:
def __init__(self, name, age, weight):
self.name = name
self.age = age
self.weight = weight
print("{0}이 입장하였습니다.".format(self.name))
print("나이는 {0}, 몸무게는 {1} 입니다.".format(self.age, self.weight))
def eat(self, food):
print("{0}이 {1}을 먹습니다.".format(self.name, food))
self.increase()
def increase(self):
print("몸무게가 {0}에서 {1}로 증가되었습니다.".format(self.weight, self.weight + 1))
self.weight += 1
guest_1 = People("OWEN", 23, 80)
guest_2 = People("JOLLY", 19, 52)
print("이름 : {0}, 나이 : {1}, 몸무게 : {2}".format(guest_1.name, guest_1.age, guest_1.weight))
guest_1.adult = True
if guest_1.adult == True:
print("{0}은 성인입니다.".format(guest_1.name))
guest_1.eat("치킨")
print(guest_1.weight)
클래스안에 메소드를 생성하여서 실행해보았습니다.
출력결과
OWEN이 입장하였습니다.
나이는 23, 몸무게는 80 입니다.
JOLLY이 입장하였습니다.
나이는 19, 몸무게는 52 입니다.
이름 : OWEN, 나이 : 23, 몸무게 : 80
OWEN은 성인입니다.
OWEN이 치킨을 먹습니다.
몸무게가 80에서 81로 증가되었습니다.
81
'Python' 카테고리의 다른 글
[파이썬] 메소드 오버라이딩 (0) | 2020.09.15 |
---|---|
[파이썬] 상속, 다중 상속 (0) | 2020.09.15 |
[파이썬] with (0) | 2020.09.15 |
[파이썬] pickle (0) | 2020.09.13 |
[파이썬] 파일 입출력 (0) | 2020.09.11 |