본문 바로가기
활동정리/모각코

[모각코]파이썬_6주차_클래스

by 만동동 2025. 8. 15.

6.클래스

01 클래스란?

: 클래스는 설계도. 설계도만 가지고는 아무 일도 일어나지 않지만, 설계도로 만든 객체가 실제로 동작.

 

 

 

02 클래스 기본 구조

class Dog:
    # 생성자 메서드: 객체가 만들어질 때 자동 실행
    def __init__(self, name, age):
       self.name = name # 강아지 이름
       self.age = age   # 강아지 나이
   
   # 강아지 행동 메서드
   def bark(self):
       print(f"{self.name}가(이) 멍멍 짖습니다!")

- __init__ : 생성자. 객체 초기 설정을 담당.

- self: "이 객체 자신"을 가리키는 특별한 변수. 메서드 첫번째 매개변수로 직접 꼭 적어야 함.

(JAVA에서의 this와 의미는 동일하지만, this는 생략이 가능한 것에 반해 self는 꼭 적어야 한다는 점에서 약간의 차이가 있음.)

- self.name, self.age: 객체만의 정보를 저장.

 

 

 

03 객체 만들기와 사용

# 객체 생성
dog1 = Dog("초코", 3)
dog2 = Dog("보리", 2)

# 메서드 호출
dog1.bark() # 초코가(이) 멍멍 짖습니다!
dog2.bark() # 보리가(이) 멍멍 짖습니다!

- 하나의 클래스로 서로 다른 데이터를 가진 객체를 얼마든지 만들 수 있음.

  -> Dog라는 클래스로 dog1, dog2 객체를 만든 것!

 

 

 

04 클래스와 함수

구분 함수(Function) 클래스(Class)
역할 동작 1번 실행 데이터 + 여러 동작 묶어서 관리
데이터 저장 함수 외부 변수에 저장 객체 안에 저장(self.변수)
사용 방식 바로 호출 객체 생성 후 사용

 

 

 

05 예제: 학생 관리 프로그램

class Student:
    def __init__(self, name, grade):
        self.name = name
        self.grade = grade
    
    def study(self, subject):
        print(f"{self.name}이(가) [subject} 공부를 합니다.")
    
    def introduce(self):
        print(f"안녕하세요, 저는 {self.grade}학년 {self.name}입니다.")

# 객체 생성
s1 = Student("민준", 3)
s2 = Student("수아", 5)

# 메서드 실행
s1.introduce() # 안녕하세요, 저는 3학년 민준입니다.
s1.study("수학") # 민준이(가) 수학 공부를 합니다.

s2.introduce() # 안녕하세요, 저는 5학년 수아입니다.
s2.study("영어") # 수아이(가) 영어 공부를 합니다.

 

 

 

06 상속(Inheritance) 기초

: 상속이란 기존 클래스의 기능을 물려받아 확장하는 기능.

class Animal:
    def speak(self):
        print("소리를 냅니다!")

class Cat(Animal): # Animal 클래스를 상속
    def speak(self):
        print("야옹!") # 새롭게 재정의(Override)

ani1 = Animal()
ani1.speak() # 소리를 냅니다!
cat1 = Cat()
cat1.speak() # 야옹!

- 부모 클래스 기능을 그대로 쓰거나, 필요하면 새롭게 재정의(Override)할 수 있음.

'활동정리 > 모각코' 카테고리의 다른 글

[모각코] 최종 회고  (3) 2025.08.17
[모각코]6주차 계획  (0) 2025.08.15
[모각코]5주차_파이썬_모듈  (4) 2025.08.08
[모각코]5주차 계획  (0) 2025.08.08
[모각코]4주차_파이썬_예외처리  (3) 2025.08.01