파이썬 강좌(초급)/8.클래스

8.클래스 - 1)개요

파기차차 2024. 4. 1. 08:00
728x90
반응형
SMALL

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) 클래스 관련 용어 및 특징)에서 자세히 설명합니다.

 

 

728x90
반응형
LIST