객체지향 프로그래밍(Object-Oriented Programming)은 컴퓨터 프로그래밍 패러다임 중 하나로, 현실 세계를 객체(Object)라는 개념으로 모델링하여 프로그래밍 하는 방법입니다. Python은 객체지향 언어로, 클래스(Class)와 객체(Object)를 중심으로 프로그래밍이 이루어집니다.

클래스(Class)는 객체를 만들기 위한 설계도로, 객체를 만드는데 사용되는 변수와 함수들의 집합입니다. 예를 들어, 동물이라는 클래스를 만들 때, 동물의 특징인 눈, 다리, 꼬리 등의 변수와 움직이기, 먹기 등의 함수를 정의할 수 있습니다.

객체(Object)는 클래스를 기반으로 만들어진 실체입니다. 클래스를 인스턴스화(Instantiate) 하여 객체를 생성하고, 객체는 클래스에서 정의된 변수와 함수를 사용할 수 있습니다. 예를 들어, 동물 클래스를 인스턴스화하여 개, 고양이, 돼지 등의 객체를 생성하고, 이들 객체는 각각 눈, 다리, 꼬리 등의 변수와 움직이기, 먹기 등의 함수를 사용할 수 있습니다.

Python에서 클래스는 다음과 같이 정의됩니다.

class Animal:
    def __init__(self, eyes, legs, tail):
        self.eyes = eyes
        self.legs = legs
        self.tail = tail
        
    def move(self):
        print("I am moving")
        
    def eat(self, food):
        print("I am eating", food)

위의 코드는 Animal 클래스를 정의하는 예시입니다. 클래스는 class 예약어로 시작하며, 클래스 이름은 대문자로 시작하는 것이 관례입니다. __init__ 메서드는 객체가 생성될 때 자동으로 호출되는 생성자(Constructor)로, 클래스에서 정의된 변수들을 초기화합니다. **move**와 eat 메서드는 동물 객체에서 호출할 수 있는 함수입니다.

클래스에서 정의된 변수와 함수를 사용하기 위해서는, 객체를 먼저 생성해야 합니다.

dog = Animal(2, 4, True)
cat = Animal(2, 4, True)

dog.move() # "I am moving" 출력
cat.eat("fish") # "I am eating fish" 출력

위의 코드는 Animal 클래스에서 dog와 cat 객체를 생성한 후, move와 eat 함수를 호출하는 예시입니다. 이렇게 객체지향 프로그래밍에서는, 클래스를 설계하고, 객체를 생성하여 사용함으로써 현실 세계를 모델링하여 프로그래밍할 수 있습니다.

+ Recent posts