파이썬 클라스 설명 (1) 클라스란?

2021. 12. 13. 18:06·개발/Python

클라스란 무엇이며 왜 필요할까요? 다음과 같이 쿠키 박스에 쿠키를 담는 경우를 통해 살펴보도록 하겠습니다.

쿠키 박스에 쿠키 담기

쿠키를 만들어 박스에 담는 함수가 있다고 해보겠습니다.

def makingCookie(*cookies):
  box = []
  for cookie in cookies:
      box.append(cookie)
  print(box)

makingCookie('whiteCookie', 'blackCookie')
# ['whiteCookie', 'blackCookie']
makingCookie('whiteCookie', 'brownCookie')
# ['whiteCookie', 'brownCookie']

이렇게 하면 박스에는 각 쿠기가 담기지만, 문제는 함수를 호출할 때마다 box가 새로운 쿠키로 대체된다는 것입니다.

 

다음과 같이 두 객체의 id 값을 확인해보면 기존의 박스가 새로운 박스로 대체되었다는 것을 확인 수 있습니다.

print(id(a))
# 4363114144
print(id(b))
# 4363114144
print(id(a) == id(b))
# True

각각의 독립적인 박스를 만들고 이에 서로 다른 쿠키를 담으려면 어떻게 해야 할까요? 여기서 바로 클라스를 활용할 수 있습니다.

class cookieBox:
    def makingCookie(self, *cookies):
        box = []
        for cookie in list(cookies):
            box.append(cookie)
        print(box)

cookieBox1 = cookieBox()
cookieBox2 = cookieBox()

cookieBox1.makingCookie('whiteCookie', 'blackCookie')
# ['whiteCookie', 'blackCookie']
cookieBox2.makingCookie('whiteCookie', 'brownCookie')
# ['whiteCookie', 'brownCookie']

print(id(cookieBox1))
# 4487434192
print(id(cookieBox2))
# 4487434288
print(id(cookieBox1) == id(cookieBox2))
# False

이렇게 하면 서로 다른 박스에 각 쿠기가 담겼다는 것을 확인할 수 있습니다. 즉, 각 쿠키 박스와 쿠키가 독립적으로 존재하게 됩니다.

클라스 설명

이제 클라스를 이해할 수 있습니다. 클라스는 하나의 쿠키 박스라고 할 수 있습니다. 각 박스는 독립적으로 존재하며, 서로 다른 쿠키를 담아 보관할 수 있습니다.

 

정리하자면, 클라스란 동일한 작업을 수행할 수 있는 하나의 틀이자 구조입니다. 이러한 틀로 진행된 작업의 결과물인 박스는 객체이며, 각 박스(객체)는 독립적입니다.

'개발 > Python' 카테고리의 다른 글

파이썬 클라스 설명 (2) 인스턴스와 메소드란?  (0) 2021.12.13
파이썬 함수 설명 (2) 변수와 스코프  (0) 2021.12.09
파이썬 함수 설명 (1) 입력과 출력  (0) 2021.12.08
'개발/Python' 카테고리의 다른 글
  • 파이썬 클라스 설명 (3) self와 __init__이란?
  • 파이썬 클라스 설명 (2) 인스턴스와 메소드란?
  • 파이썬 함수 설명 (2) 변수와 스코프
  • 파이썬 함수 설명 (1) 입력과 출력
휘Hwi
휘Hwi
여행, 사진, 개발, 책 이야기를 기록하는 여행자 휘의 블로그 𓂍
  • 휘Hwi
    휘: 끝나지 않은 이야기
    휘Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 기록
        • 일상 에세이
        • 인사이트
        • 투자와 재테크
        • 코인 이야기
        • 아카이빙
        • 집무실 레터
        • 사랑에 대하여
        • 번역 이야기(完)
        • 프리랜서 일지(完)
      • 여행
        • 🌎 세계 여행기 S1 (完)
        • 🌊 삼삼한 여행기 (完)
        • 🚶 온더로드
        • 🇯🇵 일본
        • 🏝️ 발리
        • 🇻🇳 베트남
        • 🇱🇰 스리랑카
        • 🇮🇳 인도
        • 🇹🇭 태국
        • 🇸🇬 싱가포르
        • 🇦🇺 호주
        • 🇭🇰 홍콩
        • 🇰🇷 한국
        • 🍚 여행자의 한 끼
        • ℹ️ 여행 정보
      • 사진
        • 사진가
        • 사진 이론과 생각
        • 사진 관련 정보
      • 영상
        • 파이널컷 모션 공부
        • 고프로 GoPro
        • 영상 관련 정보
      • 책
        • 책 읽고 쓰기
      • 개발 N
        • 티스토리
        • Internet
        • HTML
        • CSS
        • JavaScript
        • Typescript
        • React
        • Node.js
        • Express
        • NestJS
        • Python
        • Django
        • MySQL
        • MongoDB
        • AWS
        • Deployment
        • Terminal
        • Git N
        • Glossaries
        • Articles
        • Projects
        • TIL;
      • 미분류
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
휘Hwi
파이썬 클라스 설명 (1) 클라스란?
상단으로

티스토리툴바