본문 바로가기
프로그래밍 언어/파이썬

파이썬 클래스 : 객체지향 프로그래밍의 핵심

by 김코딩스타 2023. 6. 12.
반응형

프로그래밍을 하다보면, 데이터와 기능을 논리적으로 묶어서 관리하고 싶을 수 있습니다. 예를 들어, 학생이라는 개념을 프로그래밍으로 표현하려면, 학생의 이름, 나이, 성적 등의 데이터와 학생의 공부, 시험, 출석 등의 기능을 함께 묶어야 합니다. 이런 경우에 사용할 수 있는 것이 클래스입니다. 클래스란 무엇이고 왜 필요한지 알아보겠습니다.

 

클래스란 객체지향 프로그래밍의 핵심 개념입니다. 객체지향 프로그래밍이란 프로그램을 구성하는 요소를 객체라고 부르는 독립적인 단위로 만들고, 객체들 간의 상호작용을 통해 프로그램을 작성하는 방식입니다. 클래스란 객체를 만들기 위한 틀이나 설계도입니다. 클래스에는 객체의 속성과 행위를 정의할 수 있습니다. 파이썬에서는 class 키워드를 사용하여 클래스를 정의할 수 있습니다. 예를 들어, 학생 클래스를 정의하면 다음과 같습니다.

 

 


 

 

클래스 정의하기

 

 

클래스 정의하기란 클래스의 이름과 속성, 메서드, 생성자 등을 결정하는 것입니다. 파이썬에서는 class 키워드와 콜론(:)을 사용하여 클래스를 정의할 수 있습니다. 예를 들어, 학생 클래스를 정의하면 다음과 같습니다.

 

예시

 

[python]

class Student: # class 키워드로 클래스 이름을 지정합니다.

    def __init__(self, name, age, score): # __init__ 메서드는 생성자라고 부르며, 객체가 생성될 때 자동으로 호출됩니다.

        self.name = name # self는 객체 자신을 의미하며, self.name은 객체의 속성을 정의합니다.

        self.age = age # self.age도 객체의 속성입니다.

        self.score = score # self.score도 객체의 속성입니다.

 

    def study(self): # study 메서드는 객체의 행위를 정의합니다.

        print(self.name + " is studying.") # print 함수로 객체의 이름과 함께 메시지를 출력합니다.

 

    def take_test(self): # take_test 메서드도 객체의 행위를 정의합니다.

        print(self.name + " got " + str(self.score) + " points.") # print 함수로 객체의 이름과 점수를 출력합니다.

 

 


 

 

클래스 사용하기

 

 

클래스 사용하기란 정의된 클래스로부터 객체를 생성하고, 객체의 속성과 메서드에 접근하는 것입니다. 파이썬에서는 클래스 이름과 괄호를 사용하여 객체를 생성할 수 있습니다. 객체의 속성과 메서드에 접근할 때는 점(.)을 사용합니다. 예를 들어, 앞서 정의한 Student 클래스로부터 객체를 생성하고, 객체의 속성과 메서드에 접근하면 다음과 같습니다.

예시

 

[python]

s1 = Student("Kim", 20, 90) # Student 클래스로부터 s1이라는 객체를 생성합니다. 생성자에 인자값을 전달합니다.

s2 = Student("Lee", 21, 80) # Student 클래스로부터 s2라는 객체를 생성합니다. 생성자에 인자값을 전달합니다.

 

s1.study() # s1 객체의 study 메서드를 호출합니다.

s2.take_test() # s2 객체의 take_test 메서드를 호출합니다.

 

print(s1.name) # s1 객체의 name 속성을 출력합니다.

print(s2.age) # s2 객체의 age 속성을 출력합니다.

 

이상으로 파이썬 클래스의 개념과 사용법에 대해 알아보았습니다. 클래스는 객체지향 프로그래밍의 핵심으로, 데이터와 기능을 논리적으로 묶어서 관리할 수 있게 해줍니다. 만약 여러분이 파이썬을 배우고 싶다면, 파이썬 코딩 도장을 추천합니다. 파이썬 코딩 도장은 파이썬의 기본 문법부터 실전 예제까지 쉽고 재미있게 배울 수 있는 온라인 강좌입니다.

읽어주셔서 감사합니다. 다음 글에서는 파이썬 클래스의 상속과 다형성에 대해 알아보겠습니다. 좋은 하루 되세요!^^

 

 

 

 

반응형