본문 바로가기

컴퓨터 언어/Python28

[ Python 3 ] 클래스(Class)를 제대로 알아보자! (인스턴스 속성, 클래스 속성, 메소드) [ Python 3 ] 클래스(Class)를 제대로 알아보자! (인스턴스 속성, 클래스 속성, 메소드) 간단하게 클래스와 객체가 무엇인지는 다들 잘 아실 겁니다. 그러나 클래스 안의 데이터와 메소드들이 어떻게 메모리에 존재하는지는 잘모르실 겁니다. 또한 참조가 되는 것인지 아니면 독립적인 공간에 따로 있어서 서로 연동이 안되는 것인지 확실하게 알고 계신가요?? 이 글에서는 관련된 내용을 중심으로 정리했습니다. [ 클래스와 객체란 무엇일까요? ] 간단히 이해해 봅시다. 클래스는 붕어빵을 만드는 틀입니다. 객체는 붕어빵 한 개입니다. 좀 더 구체적으로 클래스는 데이터와 이를 처리하는 메서드(함수)로 구성됩니다. [ 왜 클래스를 사용할까요? ] 간단합니다. 붕어빵을 매번 직접 손으로 만들려면 시간이 오래걸리죠.. 2022. 8. 14.
[ Python 3 ] 파이썬에선 정수 메모리를 어떻게 사용하는가? [ Python 3 ] 파이썬에선 정수 메모리를 어떻게 사용하는가? 문득 그런 생각이 들었습니다. 파이썬은 정수를 어떻게 처리할까요? 예를들어 a = 3 b = 3 a와 b는 각각 독립된 메모리가 할당 되었을까요? 아니면 두 변수의 저장 메모리는 같을까요? 실험을 해봤습니다. 0 -> 같은 메모리 사용 256-> 같은 메모리 사용 257-> 다른 메모리 사용 -5 -> 같은 메모리 사용 -6 -> 다른 메모리 사용 [ 실험 예시 ] [ 결론 ] 파이썬에서는 [-5, 256] 내의 정수에 대해서는 이미 해당 값이 존재하면 기존 객체에 바인딩하게 됩니다. 이는 동일 값을 메모리에 여러번 할당함으로써 발생하는 메모리 낭비를 줄이기 위함이라고 합니다. [ 참고 ] https://wikidocs.net/91522 2022. 8. 14.