본문 바로가기

Python8

[파이썬] 클래스와 객체, 인스턴스를 이해해보자 (예시를 통한 설명) 파이썬의 클래스(class)와 객체(object), 인스턴스(instance)에 대해 정리해보겠습니다. 클래스(class), 객체(object), 인스턴스(instance)를 구분해보자. 클래스(class)는 주로 어떤 틀에 비유됩니다. 즉, 똑같은 무엇을 계속 만들어 내는 것에 비유됩니다. 그 이유는 클래스는 객체(object)를 정의하고 만들기 위한 변수와 메서드의 집합이기 때문입니다. 저는 와플을 찍어내는 틀에 클래스를 비유해보겠습니다. 그러면 이런 틀에 의해서 만들어진 하나하나의 와플은 객체(object)로 비유할 수 있습니다. 클래스(class)에 의해 생성된 이런 객체(object)들은 서로 영향을 끼치지 않습니다. 틀을 이용해 두 개의 와플을 만들었다고 해봅시다. 클래스를 이용해 두 개의 객.. 2021. 6. 22.
[파이썬] 깊은 복사와 얕은 복사 개념, 예제 파이썬의 깊은 복사와 얕은 복사의 개념을 알아보고 예제를 확인하겠습니다. 객체의 복사를 논하기 전에, 가변(mutable) 객체와 불변(immutable) 객체가 무엇인지 알아보겠습니다. 가변 객체, 불변 객체 가변 객체 : 선언한 이후에도 값을 수정할 수 있는 객체. list, set, dictionary, 사용자가 작성한 대부분의 class가 해당됩니다. 불변 객체 : 선언한 이후에 값을 수정할 수 없는 객체. 숫자형(int, float), bool, str, tuple 등이 해당됩니다. 일반적으로 불변 객체는 가변 객체보다 효율적입니다. 비교를 위한 조작의 단순화가 가능하고, 프로그램 내에 고정된 부분이 많아져 프로그램의 성능 개선에 도움이 된다고 합니다. 가변 객체인 리스트와 불변 객체인 튜플을 .. 2021. 6. 19.