1. 클래스
- 클래스(Class)는 객체(Object)를 생성하기 위한 설계도 또는 틀.
- 클래스 안에는 변수(속성)와 함수(메소드)가 포함됨.
- 객체는 클래스를 기반으로 만들어지는 실제 데이터가 담긴 실체.
1-1. 기본 공식
class 클래스이름:
def __init__(self):
pass
1-2. 예제
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person1 = Person("공주", 20)
print(person1.name, person1.age)
2. __init__ (생성자)
- 객체가 생성될 때 자동으로 실행되는 메소드.
- 주로 초기값을 설정하는 역할.
2-1. 기본 공식
class 클래스이름:
def __init__(self, 매개변수):
self.변수 = 매개변수
2-2. 예제
class Animal:
def __init__(self, species):
self.species = species
animal = Animal("고양이")
print(animal.species)
3. 멤버 변수
- 클래스 내부에서 선언된 변수로, 객체의 속성을 저장.
self.변수명 형식으로 사용.
3-1. 기본 공식
class 클래스이름:
def __init__(self, 값):
self.변수명 = 값
3-2. 예제
class Car:
def __init__(self, brand):
self.brand = brand
car1 = Car("Hyundai")
print(car1.brand)
4. 메소드
- 클래스 내부에서 정의된 함수로, 객체의 동작을 정의함.
4-1. 기본 공식
class 클래스이름:
def 메소드이름(self):
동작
4-2. 예제
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print(self.name, "가 멍멍!")
dog1 = Dog("초코")
dog1.bark()
5. self
- 클래스 내부에서 객체 자기 자신을 가리키는 키워드.
- 멤버 변수와 메소드를 호출할 때 반드시 사용.
5-1. 기본 공식
class 클래스이름:
def 메소드(self):
print(self.변수명)
5-2. 예제
class Cat:
def __init__(self, name):
self.name = name
def meow(self):
print(self.name, "야옹!")
cat1 = Cat("나비")
cat1.meow()
6. 상속 (Inheritance)
- 기존 클래스를 확장하여 새로운 클래스를 만드는 개념.
- 코드 재사용성이 높아짐.
6-1. 기본 공식
class 부모클래스:
pass
class 자식클래스(부모클래스):
pass
6-2. 예제
class Animal:
def sound(self):
print("동물이 소리를 냅니다.")
class Dog(Animal):
def bark(self):
print("멍멍!")
dog = Dog()
dog.sound()
dog.bark()
7. super()
- 부모 클래스의 기능을 자식 클래스에서 호출할 때 사용.
7-1. 기본 공식
class 부모클래스:
def __init__(self, 값):
self.변수 = 값
class 자식클래스(부모클래스):
def __init__(self, 값):
super().__init__(값)
7-2. 예제
class Parent:
def __init__(self, name):
self.name = name
class Child(Parent):
def __init__(self, name, age):
super().__init__(name)
self.age = age
child = Child("공주", 10)
print(child.name, child.age)
8. 다중 상속
8-1. 기본 공식
class 부모클래스1:
pass
class 부모클래스2:
pass
class 자식클래스(부모클래스1, 부모클래스2):
pass
8-2. 예제
class Flyer:
def fly(self):
print("날 수 있습니다!")
class Swimmer:
def swim(self):
print("수영할 수 있습니다!")
class Duck(Flyer, Swimmer):
pass
duck = Duck()
duck.fly()
duck.swim()