2.1 "도서"의 속성 (제목, 크기, 무게, 재질, 출판사, 발행일 등)을 클래스변수라는 소스 코드로 구현했다.
# 도서의 속성을 변수 로 구현
title = "파이썬 프로그래밍"
dttm = "2023-01-01"
size = "600 x 400 x 40"
# 도서의 속성을 클래스 로 구현
class book:
title = "파이썬 프로그래밍"
dttm = "2023-01-01"
size = "600 x 400 x 40"
# 1
# book 클래스를 객체로 선언하고,
# 클래스변수(title, dttm, size)를 print() 함수로 각각출력해보세요.
2.2 클래스 내부에, 함수를 만들어 실행 해보세요.
class book:
title = "파이썬 프로그래밍"
dttm = "2023-01-01"
size = "600 x 400 x 40"
def say():
print("Hello Class")
# 1
# book 클래스를 객체로 선언하고, 클래스함수 say()를 사용해보세요
# tip
# 객체이름.클래스변수이름
# 객체이름.클래스함수이름
2.3 클래스 내부에, 문자열를 매개변수로 전달받아 출력하는 함수를 구현해보세요.
class book:
title = "파이썬 프로그래밍"
dttm = "2023-01-01"
size = "600 x 400 x 40"
def echo(str):
print(str)
2.4 클래스 변수 title 의 값을 수정하는 클래스함수( )를 구현해보세요.
# * self 의미: "이 클래스의"
class book:
title = "파이썬 프로그래밍"
dttm = "2023-01-01"
size = "600 x 400 x 40"
def setTitle(self, str):
self.title = str
2.5 클래스변수title, dttm, size의 값을 수정하는 클래스함수( )를 각각 구현하고 실행해보세요
# 도서의 속성을 변수 로 구현
title = "파이썬 프로그래밍"
dttm = "2023-01-01"
size = "600 x 400 x 40"
# 도서의 속성을 클래스 로 구현
class book:
title = "파이썬 프로그래밍"
dttm = "2023-01-01"
size = "600 x 400 x 40"
def setTitle(self, str):
self.title = str
def setDttm(self, datetime):
self.dttm = datetime
def setSize(self, details):
self.size = details
obj_book = book()
print(obj_book.title, obj_book.dttm, obj_book.size)
obj_book.setTitle(obj_book, "클래스변수를변경해보자")
print(obj_book.title)
obj_book.setDttm(obj_book, "날짜를변경해보자")
print(obj_book.dttm)
obj_book.setSize(obj_book, "사이즈를변경해보자")
print(obj_book.size)
3 클래스 생성자
: 클래스 생성자Constructor는 클래서 선언과 동시에 클래스변수를 초기화하는 작업을 한 번에 할 수 있도록 발전되었다.
3.1 클래스 초기화 원형
# 클래스에 클래스변수 3개를 선언하고
# 함수를 만들어, 클래스변수 3개에 값을 변경 할 수 있도록 구현하세요
class cls:
var1 = None
var2 = None
var3 = None
def setClassVars(self, pram1, pram2, pram3):
self.var1 = pram1
self.var2 = pram2
self.var3 = pram3
obj = cls()
obj.setClassVars("클래스변수", "입력하려면", "함수를써야죠")
3.2 클래스 초기화 축약
self 를 사용하게 되면서, 클래스변수 var1, var2, var3 를 생략 가능하다.