본문 바로가기
Programming/Python

파이썬 클래스(Class) 함수란? - 파이썬 코딩 기본 문법 (Python)

by 심코딩 2022. 4. 15.

오늘은 파이썬 기본 공부를 하면서 굉장히 헷갈렸던 개념중의 하나인 클래스 (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

댓글