Python-Class

Weed·2024년 12월 31일
0

개발 기초 개념

목록 보기
5/5

Class

1️⃣ 개념

  • 파이썬에서 class객체지향 프로그래밍(OOP)의 핵심이다.
  • Class란 설계도를 만들고, 이 설계도를 바탕으로 물건을 만들어 사용한다고 생각하면 된다.

2️⃣ 클래스 정의하기

  • 클래스는 설계도이다. 설계도를 만들기 위해 데이터(속성)동작(메서드)가 필요하다.
class Student:
    # 초기 설정 (__init__)
    def __init__(self, name, age):
        self.name = name  # 학생 이름
        self.age = age    # 학생 나이

    # 행동(메서드)
    def introduce(self):
        print(f"안녕하세요, 저는 {self.name}이고, {self.age}살입니다.")

3️⃣ 객체 생성하기

  • 클래스를 바탕으로 객체를 생성해서 사용한다.
  • 아래 코드에서 student1student2는 Student 클래스에서 만들어진 두 개의 독립적인 객체이다.
student1 = Student("철수", 15)  # 철수라는 학생 객체 생성
student2 = Student("영희", 14)  # 영희라는 학생 객체 생성

4️⃣ 객체 사용하기

  • 객체를 생성하면, 그 클래스 안에 있는 데이터(속성)과 행동(메서드)를 사용할 수 있다.
student1.introduce()  # 철수의 소개
# 출력: 안녕하세요, 저는 철수이고, 15살입니다.

student2.introduce()  # 영희의 소개
# 출력: 안녕하세요, 저는 영희이고, 14살입니다.

5️⃣ self

  • self는 클래스와 객체의 관계를 이해하는 핵심이다. self현재 이 객체 자신을 가리키는 특별한 변수이다.
  • self는 메서드가 내가 지금 어떤 객체와 관련된 동작을 수행 중인지 알게 해준다.
  • 객체 자신의 데이터(속성)과 메서드(행동)에 접근한다.

self가 있는 코드

  • 클래스 생성
class Student:
    def __init__(self, name, age):
        self.name = name  # 이 객체의 name 속성을 설정
        self.age = age    # 이 객체의 age 속성을 설정

    def introduce(self):
        print(f"안녕하세요, 저는 {self.name}이고, {self.age}살입니다.")
  • 객체 생성
student1 = Student("철수", 15)  # 철수라는 학생 객체 생성
student2 = Student("영희", 14)  # 영희라는 학생 객체 생성
  • 객체 메서드 호출
student1.introduce()  # self는 student1을 가리킴
# 출력: 안녕하세요, 저는 철수이고, 15살입니다.

student2.introduce()  # self는 student2를 가리킴
# 출력: 안녕하세요, 저는 영희이고, 14살입니다.
  • self 덕분에 메서드가 호출된 객체에 맞는 데이터를 사용할 수 있다.

self가 없는 코드

  • self가 없으면, 메서드가 어느 객체에 연결되어 있는지 알 수 없다.
class Student:
    def __init__(name, age):  # self 빠짐
        name = name  # 누구의 name인지 알 수 없음!
        age = age    # 누구의 age인지 알 수 없음!
profile
개발자로 전직해보자

0개의 댓글