[Python] Class 정복하기 (1)

웹/파이썬 프로그래밍 강의를 수강하면서 클래스에 대해 다시 한번 나만의 글로 정리할 필요가 있다고 생각하여 오랜만에 피드를 업로드한다.

 

Class 개념

 

소위 말하는 우리가 말하는 객체 지향 프로그래밍의 시작이자 끝이 바로 Class다.

 

클래스는 객체(Object)를 표현하기 위한 문법이다. 클래스는 객체의 설계도 또는 큰 틀이라는 개념으로 이해할 수 있는데, 클래스를 통해 만들어진 객체를 인스턴스(Instance)라고 한다.

 

쉬운 이해를 위해 그림으로 이해해보자.

클래스 예시

앞서 클래스를 객체의 설계도라고 표현하였다. 위 그림으로 이해하면 클래스는 붕어빵을 만드는 붕어빵 틀이라고 할 수 있고, 붕어빵 틀을 통해 만들어진 붕어빵을 인스턴스라고 한다.

 

이 같이 객체를 사용한 프로그래밍 객체 지향 프로그래밍(OOP)라고 부른다. 우리가 사용하는 list, dict, int 등의 자료형도 마찬가지로 각자의 용도에 맞게 만들어진 클래스다.

 

Method 개념

 

클래스는 각각의 메소드(Method)를 가진다. 메소드란, 클래스를 내부에 존재하는 특정 기능을 하는 함수라고 이해하면 된다.

예를 들어 아래와 같은 클래스 코드가 있다고 가정하자.

class Student:
	
    # 생성자
    def __init__(self, name, id, gender):
    	self.name = name
        self.id = id
        self.gender = gender
    
    # 메소드 1
    def getStudentId(self):
    	return self.id
    
    # 메소드 2
    def getStudentName(self):
    	return self.name

 

여기서 클래스는 Student고, 메소드는 getStudentId다. getStudentId 메소드는 student 객체의 id를 return하는 기능을 가진 함수다. 위의 예시를 전체적으로 설명하면, 학생이라는 틀의 클래스가 존재하고 클래스를 통해 만들어진 각 학생은 각각 다른 속성(이름, 학번, 성별)을 가지며 각각의 메소드(학번 말하기, 이름 말하기)가 있다고 생각하면 된다.


Reference

 

경희대학교 웹/파이썬 프로그래밍 강의자료

 

 

'Python' 카테고리의 다른 글

[Python] 모듈(Module)  (1) 2024.04.26
[Python] 이스케이프 시퀸스(Escape Sequence)  (0) 2024.04.26
[Python] join 함수  (1) 2024.04.25
[Python] list 함수  (1) 2024.04.25