프로그래머들이 가장 많이 사용하는 프로그래밍 언어 중 하나인 C 언어에는 클래스가 없습니다.
이 말은 굳이 클래스가 없어도 프로그램을 충분히 만들 수 있다는 뜻입니다.
파이썬으로 잘 만든 프로그램을 살펴봐도 클래스를 사용하지 않고 작성한 것이 매우 많습니다.
즉, 클래스는 지금까지 공부한 함수나 자료형처럼 프로그램 작성을 위해 꼭 필요한 요소는 아닙니다.
클래스(Class)는 객체 지향 프로그래밍(OOP)의 기본적인 개념 중 하나로,
데이터와 해당 데이터를 처리하는 메서드(함수)를 함께 묶어놓은 사용자 정의 데이터 형식입니다.
클래스는 객체(Object)를 생성하기 위한 청사진이라고 할 수 있습니다.
객체는 클래스의 인스턴스(Instance)이며, 클래스로부터 생성됩니다.
클래스는 데이터와 기능(메서드)을 하나로 묶어서 관리할 수 있어
코드의 재사용성과 유지 보수성을 높입니다.
다음은 클래스의 주요 요소들에 대한 설명입니다:
- 속성(Attributes) 또는 멤버 변수(Member Variables):
- 클래스가 가지고 있는 데이터를 나타냅니다.
- 클래스 내부에 정의된 변수로, 해당 클래스의 모든 인스턴스에 대해 동일한 값을 가집니다.
- 클래스의 상태를 나타냅니다.
- 메서드(Methods):
- 클래스가 수행하는 작업(기능)을 나타냅니다.
- 클래스 내부에 정의된 함수로, 클래스의 인스턴스에 대해 호출됩니다.
- 클래스의 동작을 정의합니다.
- 인스턴스(Instance):
- 클래스로부터 생성된 실제 객체를 나타냅니다.
- 클래스의 속성과 메서드에 접근할 수 있는 객체입니다.
- 생성자(Constructor):
- 클래스의 인스턴스가 생성될 때 호출되는 특별한 메서드입니다.
- 인스턴스를 초기화하고 필요한 속성을 설정하는 역할을 합니다.
- 파이썬에서는 __init__() 메서드로 표현됩니다.
- 상속(Inheritance):
- 부모 클래스(슈퍼 클래스)의 속성과 메서드를 자식 클래스(서브 클래스)가 물려받는 것을 의미합니다.
- 코드의 재사용성을 높여줍니다.
- 다형성(Polymorphism):
- 같은 이름의 메서드가 서로 다른 클래스에서 다른 동작을 수행할 수 있는 성질입니다.
- 오버라이딩(Overriding)과 오버로딩(Overloading)을 통해 구현됩니다.
파이썬에서는 클래스를 정의할 때 class 키워드를 사용합니다.
클래스의 속성과 메서드는 클래스 내에서 정의되며,
인스턴스는 클래스 이름을 호출하여 생성됩니다.
클래스를 사용하여 객체를 생성하고 이를 통해 데이터를 관리하고 작업을 수행할 수 있습니다.
클래스는 파이썬의 중요한 개념 중 하나이며, 객체 지향 프로그래밍의 핵심입니다.
아래는 간단한 클래스를 사용한 예제 소스코드입니다.
이 예제에서는 "사람"을 나타내는 클래스인 Person 클래스를 정의하고,
해당 클래스를 사용하여 객체를 생성하고 속성과 메서드를 활용하는 방법을 보여줍니다.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
return f"안녕하세요! 제 이름은 {self.name}이고, 나이는 {self.age}살입니다."
# Person 클래스를 사용하여 객체 생성
person1 = Person("홍길동", 30)
person2 = Person("이순신", 40)
# 객체의 속성에 접근하여 출력
print(person1.name) # 출력: 홍길동
print(person2.age) # 출력: 40
# 객체의 메서드 호출하여 인사하기
print(person1.greet()) # 출력: 안녕하세요! 제 이름은 홍길동이고, 나이는 30살입니다.
print(person2.greet()) # 출력: 안녕하세요! 제 이름은 이순신이고, 나이는 40살입니다.
위 코드에서 Person 클래스는 이름(name)과 나이(age)라는 속성을 가지고 있습니다.
__init__() 메서드를 사용하여 객체가 생성될 때 속성을 초기화합니다.
greet() 메서드는 객체의 속성을 활용하여 인사말을 생성하여 반환합니다.
이후에 Person 클래스를 사용하여 person1과 person2라는 두 개의 객체를 생성하고,
각 객체의 속성에 접근하고 메서드를 호출하여 객체의 동작을 확인합니다.
이렇게 클래스를 사용하여 객체를 생성하고 데이터와 기능을 관리하는 것이
객체 지향 프로그래밍의 핵심 개념 중 하나입니다.
'Python > 기초 다지기' 카테고리의 다른 글
[파이썬 기초]패키지란?? (0) | 2024.02.19 |
---|---|
[파이썬 기초]모듈이란?? (0) | 2024.02.18 |
[파이썬 기초]파일 읽고 쓰기 (0) | 2024.02.18 |
[파이썬 기초]입출력은 어떻게 할까요?? 함수, 사용자 입출력 (0) | 2024.02.18 |
[파이썬 기초]제어문의 종류와 사용법 (0) | 2024.02.18 |