-- 15.객체지향과_클래스.ipynb --
데이터 부분 :
class 클래스명 :
def __init__(self) : # 생성자 self는 위치 정보라고 생각하면 됨
self.필드명1 = 값1
self.필드명2 = 값2
...
객체가 메모리에 로드될 때 가장 먼저 실행되는 문장
처리부분 :
def 메소드명(변수,변수2, ...):
메소드가 호출되면 실행될 문장
class Dog :
pass
jin = Dog()
print(jin, type(jin))
tomy = Dog()
print(tomy, type(tomy))
class Dog :
def init(self): # 셀프는 객체 그 자체!
print(self)
jin = Dog()
print(jin)
tomy = Dog()
print(tomy, type(tomy))
class Dog :
def init(self): # 셀프는 객체 그 자체!
print(self)
self.name = '이름없음' # self라는 위치에 name이라는 저장공간이 생김.
self.age = 0 # 틀일 뿐이니까 print로 해도 name 또는 age는 안나옴.
jin = Dog()
print(jin.name)
jin.name = '진순이'
print(jin.name)
tomy = Dog()
print(tomy.name)
class Dog :
def init(self, name, age, breed = '술먹고개됨'): # 셀프는 객체 그 자체!
print(self)
self.name = name # self라는 위치에 name이라는 저장공간이 생김.
self.age = age
self.breed = breed
jin = Dog('지민이',25)
print(jin.name)
print(jin.breed)
tomy = Dog('호중이', 25, '그냥잡종')
print(tomy.name)
print(tomy.age)
print(tomy.breed)
1-4.메소드 정의하기
class Counter :
def init(self) :
self.num = 0
def Increment(self) :
self.num += 1
def do_Reset(self) :
self.num = 0
def add(self, num1, num2) :
return num1 + num2
SHBank = Counter()
HNBank = Counter()
print('신한은행 번호표', SHBank.num)
print('신한은행 번호표', HNBank.num)
SHBank.Increment()
print('신한은행 번호표', SHBank.num)
print('신한은행 번호표', HNBank.num)
class Math :
def add(slef, x, y):
return x+y
def multiply(self, x, y):
return x*y
math = Math()
print(math.add(1,4))
class Math2 :
@staticmethod # 어노테이션(아래 영역의 쓰임을 컴퓨터에게 알려줌.)
def add(x, y):
return x+y
@staticmethod
def multiply(x, y):
return x*y
Math2.add(1,4)