1) 클래스가 뭐에요?
클래스(Class)는 파이썬에서 객체 지향 프로그래밍(OOP)을 구현하는 주요 요소 중 하나입니다.
클래스는 객체(Object)를 만들기 위한 설계도와 같은 역할을 합니다.
간단히 말해서, 클래스는 속성(attributes)과 메서드(methods)를 포함하는 데이터 타입입니다.
여기서 속성은 클래스의 특징이나 상태를 나타내며, 메서드는 클래스에서 수행할 수 있는 동작을 정의합니다.
예를 들어, '사람'이라는 클래스를 만든다고 가정해보겠습니다. 이 클래스에는 '이름', '나이'와 같은 속성이 있을 수 있고, '걷기', '말하기'와 같은 동작을 수행할 수 있는 메서드가 있을 수 있습니다. 그럼 이 클래스를 사용하여 실제 사람 객체를 만들어 사용할 수 있습니다.
간단한 파이썬 코드로 클래스를 정의하고 객체를 생성하는 방법의 예는 다음과 같습니다:
# 'Person' 클래스 정의 class Person: def __init__(self, name, age): self.name = name self.age = age def speak(self): print(f"{self.name}이/가 말합니다.") # 'Person' 클래스를 사용하여 객체 생성 person1 = Person("Alice", 30) person2 = Person("Bob", 25) # 객체의 속성에 접근 print(person1.name) # 출력: Alice print(person2.age) # 출력: 25 # 객체의 메서드 호출 person1.speak() # 출력: Alice이/가 말합니다. |
위의 코드에서 Person 클래스는 이름과 나이를 속성으로 가지며, speak() 메서드를 정의하고 있습니다.
이 클래스를 사용하여 person1과 person2라는 두 개의 객체를 생성하고, 각 객체의 속성에 접근하거나 메서드를 호출할 수 있습니다.
2) 실습
(1) 비어있는 사람 {Human} 클래스를 "정의" 해보세요
모범답안
class Human:
pass
(2) 사람 {Human} 클래스의 인스턴스를 "생성"하고 이를 me 변수로 바인딩해보세요.
모범답안
class Human:
pass
me = Human()
(3) 다음 코드가 동작하도록 차 클래스를 정의해 보세요.
>>car = 차(2,1000)
>>car.바퀴
2
>>car.가격
1000
모범답안
class 차:
def __init__(self, 바퀴, 가격)
self.바퀴 = 바퀴
self.가격 = 가격
3) 클래스가 왜 필요하죠?
간단한 소스의 경우 클래스를 사용하지 않고, 함수를 사용해도 충분합니다. 하지만 소스코드가 길어지고 복잡해 질수록 클래스를 사용해야만 소스코드를 정리하고, 읽기 쉽게 작성이 가능하기 때문에 큰 프로그램을 만들때는 클래스를 사용하게 됩니다.
결국 클래스를 사용하는 이유는 코드의 재사용성 및 확장성을 높이고, 추상화와 캡슐화를 통해 코드의 유연성을 증가시켜 코드의 구조를 보다 체계적으로 만들기 위해서 코드가 커질 수록 클래스를 사용하게 됩니다.
위의 추상화 등 어려운 용어들은 다음글(8.클래스 - 2) 클래스 관련 용어 및 특징)에서 자세히 설명합니다.
'파이썬 강좌(초급) > 8.클래스' 카테고리의 다른 글
8.클래스 - 6) 메서드오버라이딩 (3) | 2024.04.01 |
---|---|
8.클래스 - 5) 상속 및 다중상속 (3) | 2024.04.01 |
8.클래스 - 4) 멤버변수와 메서드 (3) | 2024.04.01 |
8.클래스 - 3) 생성자 (4) | 2024.04.01 |
8.클래스 - 2) 클래스 관련 용어 및 특징 (3) | 2024.04.01 |