새소식

반응형
Programming Language/Python

[Python] class의 개념과 사용법

  • -
반응형

파이썬에서 클래스(Class)는 객체 지향 프로그래밍(OOP)의 핵심 개념 중 하나로, 데이터와 그 데이터를 조작하는 메서드(함수)를 포함하는 하나의 템플릿이다. 클래스를 사용하면 관련된 데이터와 동작을 하나로 묶어 객체를 생성할 수 있다. 이를 통해 코드의 재사용성을 높이고 구조적인 프로그래밍을 할 수 있다.

 

1. 클래스의 구조


예제 코드

class HungryDeveloper:
    # 클래스 변수 (모든 인스턴스가 공유하는 변수)

    def __init__(self, name, age):
        # 인스턴스 변수 초기화
        self.name = name
        self.age = age

    def eat(self, food):
        print(f'{food}를 먹다')

- class : 클래스를 정의하기 위한 키워드

- HungryDeveloper : 클래스의 이름을 지정

- __init__(self,...) : 초기화 메서드로, 객체 생성 시 호출되며 인스턴스 변수를 초기화

- eat(self, food) : 클래스가 제공하는 메서드로, 해당 클래스의 동작을 정의, 첫 번째 매개변수 self는 해당 인스턴스 자신

 

 

2. 클래스의 사용


예제 코드

class HungryDeveloper:
    def __init__(self, name = "Jack", age = 29):
        self.name = name
        self.age = age

    def eat(self, food):
        print(f"{food}을(를) 먹다!")

# 클래스로 객체 생성
person1 = HungryDeveloper("Snider", 32)
person2 = HungryDeveloper("Tommy", 21)

# 메소드 호출
person1.eat("햄버거")  # 출력: 햄버거을(를) 먹다!
person2.eat("피자")  # 출력: 피자을(를) 먹다!!

위 예시에서 HungryDeveloper클래스는 사람 객체의 탬플릿을 정의하며, __init__ 메서드를 통해 객체 생성 시 이름과 나이를 초기화할 수 있다, 이때 아무 파라미터도 들어오지 않는다면 기본값으로 name은 "Jack":, age는 29로 세팅되도록 하였다.  eat메서드는 사람이 먹는 동작은 정의하고 출력한다. 이후에 HungryDeveloper 클래스로 생성된 객체인 person1과 person2를 통해 메서드를 호출할 수 있다.

 

클래스를 사용하면 프로그램을 논리적으로 그룹화하고 코드의 가독성을 높일 수 있다. 또한 클래스는 상속, 다형성 등 다양한 객체 지향 프로그래밍의 개념을 활용하여 더 유연하고 확장 가능한 코드를 작성하는 데 도움이 될 것이다.

 

여기까지가 기본적인 클래스의 개념과 사용방법이다, 다음 시간에는 클래스에 존재하는 상속, 다형성 등에 대한 개념을 알아보자.

 

 

읽어주셔서 감사합니다.

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.