
오늘은 파이썬 기본 공부를 하면서 굉장히 헷갈렸던 개념중의 하나인 클래스 (Class)에 대해 설명을 해보려 한다.
사실 나도 공부를 하면서 여러 티스토리, 블로그를 찾아보았지만 그 특유의 공대생 감성으로 쓰여진 글들이 대부분이라 굉장히 읽기도 어려웠고 이해가 많이 어려웠었다. 그래서 나는 최대한 처음 보는 사람들, 나같은 비전공자들이 봐도 충분히 이해할 수 있도록 적어 보려 한다.
클래스 (Class) 라는 것은 한국어로 하면 "부류", "분류"라고 할 수 있을 것 같다.
바로 예로 들어가보자, 만약 이름이 A, B, C인 학생들이 있다. 이 학생들을 클래스로 분류하자면 학생 (Student) 로 분류를 할 수 있을 것이다. 이를 코드로 나타낸다면
class Student:
A = Student()
B = Studnet()
C = Student()
간단하게 이렇게 나타낼 수 있다. 어떠한 객체를 한 클래스안에 넣고싶다면 객체 = 클래스( ) 라는 코드를 써주면 되는 것이다.
여기서 더 나아가서, 이 Student들의 액션을 나타내 보도록 하자. 이 Student안에 있는 객체들의 특성, 행위를 적어주는 것이다. 예를 들어 학생 (Student) 이기 때문에 이 친구들은 공부하는 것 (Study)이 특징이라고 치자. 그렇다면 이 Study라고 하는 동사는 이 클래스의 메소드 (Method) 가 되는 것이다.
Student 클래스의 객체는 Study라고 하는 메소드를 가지는 것이다. 이를 코드로 나타내면
class Student:
def study(self):
이렇게 메소드는 함수로 지정을 해주어야 한다.
* 메소드 안의 인자는 self가 되어야 한다. 초보 단계에서는 이렇게만 알아두면 된다고 한다.
함수가 있으니 이 함수를 실행했을 때의 나타나는 결과가 나와야 한다. 즉, study라는 동사를 실행했을 때의 결과가 나와야 한다. 여기서 study를 하면 "높은 성적을 받는다 (get higher GPA)" 라는 결과값을 얻는다고 치자.
class Student:
def study(self):
return "Get higher GPA"
코드로 만들면 이렇게 된다. 지금 바로 위 코드만 보면 아직까지 class안에 객체들은 아무것도 들어가 있지 않다. 우리가 여기서 이해를 해야 하는건, 어떤 객체가 Student로 분류가 된다면, study라고 하는 행위를 할 것이며, 그 결과로 Get higher GPA가 될 것이다 라는 것이다.
A라는 객체를 넣고, 어떤 특정 메소드를 실행을 시키려면 객체.메소드( ) 코드를 넣어주면 된다. class안에 메소드가 여러개 있을 수 도 있으니까 원하는 메소드를 정해주어야 한다.
class Student:
def study(self):
print ("Get higher GPA")
A = Student()
A.study()
이렇게 코드를 만들고 실행을 하면 "Get higher GPA"가 출력이 되는걸 볼 수 있다.
오늘은 클래스 문법에 대해 완전 기초에 대해 알아보았다. 다음번엔 조금 더 심화 과정을 통해 inst, self, 상속에 대해 글을 적어보도록 하겠다.
** 다음 포스팅 넘어가기
https://s1mcoding.tistory.com/8?category=1057030
파이썬 클래스 (Class) 함수 심화 편 [상속, self, _inst_] (파이썬 문법)
일단 오늘은 저번 글에 이어서 클래스 (Class) 함수에 대해 조금 더 심화 과정으로 들어가 보려합니다. 클래스 함수에 대한 기초가 필요한 분들은 아래 포스팅 먼저 확인 부탁드립니다. https://s1mcod
s1mcoding.tistory.com
'Programming > Python' 카테고리의 다른 글
파이썬 반복문 이용한 피라미드 만들기 02 (Python for in) (2) | 2022.04.25 |
---|---|
파이썬 반복문 이용한 피라미드 만들기 01 (Python for in) (18) | 2022.04.23 |
파이썬 람다(lambda) 함수란? - 파이썬 기초 문법 (6) | 2022.04.21 |
파이썬 클래스 (Class) 함수 심화 편 [상속, self, _inst_] (파이썬 문법) (0) | 2022.04.18 |
파이썬 (Python) 리스트 만들기 (0) | 2022.04.13 |
댓글