7가지 정보를 하나의 객체가 가지고 있어야 한다. -> 인스턴스 필드
1. 클래스로 문제풀기
class Car_data:
def __init__(self,이름="", 엔진가격=0, 타이어가격=0, 옵션유무="", 옵션이름="", 최고속도=0):
self.이름 = 이름
self.엔진가격 = 엔진가격
self.타이어가격 = 타이어가격
self.옵션유무 = 옵션유무
self.옵션이름 = 옵션이름
self.최고속도 = 최고속도
self.구매가격 = 엔진가격 + 타이어가격
c1 = Car_data() # 차 한대의 정보를 담은 객체
c1.이름 = "자동차"
c1.엔진가격 = 400
c1.타이어가격 = 100
c1.옵션유무 = "있음"
c1.옵션이름 = "썬루프"
c1.최고속도 = 300
c1.구매가격 = c1.엔진가격 + c1.타이어가격
c2 = Car_data("슈퍼카", 1000, 200, "배기관", "있음", 400)
이름 = input("이름 입력: ")
엔진가격 = int(input("엔진가격: "))
타이어가격 = int(input("타이어가격: "))
옵션유무=input("옵션유무(있음/없음): ")
if 옵션유무 == "있음":
옵션 = input("옵션: ")
else:
옵션 = "없음"
최고속도 = int(input("최고속도: "))
c3=Car_data(이름, 엔진가격, 타이어가격, 옵션, 옵션유무, 최고속도)
위의 인스턴스 필드들은
인스턴스 메소드를 만들어서 접근해야 한다.
즉, 클래스에 def f(self) 넣어서 접근한다.
list( ) 는 리스트 클래스에 있는 생성자를 호출한다는 의미이다.
교재 p334 (어서와 파이썬은 처음이지)
split() : 해당 문자열 안의 , 자리에 공백을 넣어주는 클래스
isalpha() : 해당 문자열이 알파벳인지 아닌지 검토해주는 클래스
strip() : 해당 문자열의 앞 뒤 공백을 제거해주는 클래스
2. 캡슐성(은닉성)
변수 앞의 언더바 2개로 클래스 밖에서 안으로 접근하지 못하게 한다.
1) 비공개 속성
2) 공개속성
교재 p357
3. 접근자와 설정자
은닉성으로 감춰진 필드에 접근하는 방법: 선언된 클래스 안 멤버에 접근자나 설정자를 넣어 해당 클래스의 은닉된 멤버에 접근한다.
인스턴스 메소드로 만든다.
__x에게 접근하려면 클래스 내의 메소드(f)가 가능한다.
내일 문제 푼다고 한다.
'Programming Language > Python' 카테고리의 다른 글
[파이썬 ] DAY6 상속 (0) | 2022.01.21 |
---|---|
[파이썬] DAY6 복습 (0) | 2022.01.21 |
[파이썬] DAY5 클래스 (0) | 2022.01.20 |
[파이썬] DAY5 객체 지향론 (0) | 2022.01.20 |
[파이썬] DAY3 그 동안의 개념으로 문제 풀어보기 (0) | 2022.01.20 |