혼공파 80강
1. 클래스 기본 문법
# 클래스: 함수(와 변수)를 묶어 놓은 것
# → 객체를 만들어 내기 위한 설계도
# 스네이크 케이스 : create_student → 대부분
# 캐멀 케이스 : CreatStudent → 클래스 이름
# 클래스(설계도)
## 클래스가 갖는 모든 함수는 첫번째 매개변수로 self를 가져야한다.
## 클래스 이름과 같은 함수를 생성자(constructor)라고 부른다.
## __init__로 생성자를 만들 수 있다.
class Student:
# 클래스 내용
def __init__(self, 이름, 국어, 영어, 수학, 과학):
self.이름 = 이름
self.국어 = 국어
self.영어 = 영어
self.수학 = 수학
self.과학 = 과학
def sum(self):
return self.국어 + self.수학 + self.영어 + self.과학
def average(self):
return self.sum() / 4
def print(self):
print(self.이름, self.sum(), self.average(), sep="\t")
class StudentList:
def __init__(self) :
self.students = []
def add(self, student):
self.students.append(student)
def print(self):
print("이름", "총점", "평균", sep="\t")
for student in self.students:
student.print()
# 객체 = 인스턴스
인성 = Student("인성", 87, 88, 98, 95)
# 함수 호출 방법 (2) -> 주로 이용된다.
print(인성.이름, 인성.국어)
인성.sum()
인성.average()
students = StudentList()
students.add(Student("인성", 87, 88, 98, 95))
students.add(Student("구름", 92, 98, 97, 98))
students.add(Student("별이", 76, 96, 95, 90))
students.print()
# 왜 클래스를 쓰는가
# (1) 함수와 변수를 모았으므로 (응집했으므로) 가독성이 좋아지고
# 코드 변경과 유지 보수 때 확인해야하는 범위가 줄어든다.
# (2) 클래스를 사용하는 사람이 클래스를 만든 사람의 의도에 따라 코드를 작성하게 만들어
# 코드 중복을 줄여 코드 변경과 유지 보수를 쉽게 만든다.
'Base > Python' 카테고리의 다른 글
26. 캡슐화 (0) | 2023.06.29 |
---|---|
25. 특수한 이름의 함수, 값 객체 (0) | 2023.06.29 |
23. 객체지향 프로그래밍 (0) | 2023.04.20 |
22. 예외 처리의 else finally 구문 / 예외 객체와 예외 구분 / 예외 강제 발생 (0) | 2023.03.25 |
21. 구문 오류와 예외 / 기본적인 예외처리 방법 / 예외처리 구문 (0) | 2023.03.24 |
댓글