Day 6 공부
2023. 3. 10. 16:50ㆍUnknown
class
1) class 지정 후 print(class객체)를 하면 객체와 주소가 나온다.
2) Class 메소드 사용시 주의점
메소드를 사용해서 새로운 변수에 담아서 조정하는 것이 좋다.
원본 데이터 안건드는게 좋다.
3) 메소드 타입
> instance method / class method
instance method
프로퍼티 혹은 데이터 자체를 instance 연산해야할 때 사용
4) 메소드 오버라이딩
def eat(self,food): #메소드 오버라이딩
print(f'{self.name}는 {food}를 아주 맛있게 먹습니다.')
def superEat(self,food):
super().eat(food) # super() 부모 클래스를 호출
부모클래스는 자식클래스 메소드를 사용할 수 없지만 반대는 가능
(한마디로 부모님꺼 내꺼 / 내껏도 내꺼 ) 불효자 ssekki
5) 다중 상속
C#, Java는 다중 상속이 불가능
파이썬은 C++과 같이 다중 상속이 가능
여러 클래스를 상속 받을 수 있다.(갯수 제한 X)
cf) 여러 클래스를 상속 받을 수 있다고, 단순히 좋은 기능은 아니다.
다중 상속 클래스를 만들 때 조건이 더 많이 생기고, 복잡해지는 == 따로만드는것과 별 차이가 없는 애매한 상황
# 클래스 생성 1
class Animal:
def __init__(self,name,age):
self.name = name
self.age = age
def eat(self, food):
print(f'{self.name}은 {food}를 먹습니다.')
def sleep(self,time):
print(f'{self.name}은 {time}시간 동안 잠을 잡니다.')
# 클래스 생성 2
class Human:
def __init__(self,name,age):
self.name = name
self.age = age
def study(self,hour):
print(f'{self.name}은/는 {hour}시간 동안 공부를 합니다.')
# 다중 클래스 생성
class KimApple(Animal,Human):
pass #다중 상속 / 클래스 연관성이 없어야 좋고, 프로퍼티 갯수가 동일해야된다.
결과
728x90
'Unknown' 카테고리의 다른 글
CSS 서포트 사이트 (0) | 2023.03.28 |
---|---|
파일 현재 시간, 수정된 시간 받아오기 (0) | 2023.03.16 |
Day 5 나머지 공부방 (0) | 2023.03.09 |
백준 1427번 (0) | 2023.03.09 |
Day 3. 컴퓨터에서 실수를 저장하는 방법 (0) | 2023.03.07 |