객체란 실세계의 사물이라고 정의한다.
a = 10 이라고 입력하여 변수에 10을 할당하면, 컴퓨터는 메모리의 어떠한 공간에 정수 형태가 들어갈수 있도록 공간을 할당한다.이후 그메모리의 위치를 저장한다. 이후 그위치를 a라는 변수가 가지도록 합니다.
a는 메모리상에 저장된 주소이다.
이는 식별자 라고 한다. (a = 식별자)
저장되는 곳을 메모리 주소라고 하며, 식별자가 메모리 주소를 가르키도록 하는것을 바인딩(Binding) 이라고말한다.
결과적으로 할당 연산자(=)는 메모리 주소를 기억하라고 변수에게 특정한 주소를 할당해주는 것과 같은 이치이다.
10은 a에 바로 들어가는것이 아니라, '정수 데이터'에 기록되는것.
<동적할당 개념>
10이라는 데이터를 다른 변수가 가르키도록(저장할수있도록)
변수의 값을 할당 해주는것.
객체 예시))))))
>자동차 객체
-자동차 고유번호 : 1 (정수형)
-자동차 모델 이름: 아반떼2017(문자열형)
-자동차 출시가: 1,900(정수형)
-자동차 연비: 20(실수형)
객체의 틀은 클래스(class)라고 한다.
클래스를 활용해 다양한 객체지향 방법을 할때
우리가 어떠한 자동차를 정의한다음 사용한다고 명시한다면
우리의 주격장치(Ram)에 일정공간에 객체가 담길만큼의 공간이 할당되고
그값들이 a라는 변수등이 가르키도록 한다.
동적으로 할당된 값을 '인스턴스' 라고 한다.
a = 10이라고 했을때, 위와같이 이미 만들어진 '정수형'이라는 틀을 사용하는것이다.
기본적으로 프로그래밍 언어에서 기본적으로 제공하는 데이터형입니다.
이를 원시 자료형 이라고한다.
즉 a = 10 이라고 할당연산자를 간단히 사용 한 것도 사실 내부적으로 원시 자료형인 '정수형'이라는 객체의 틀에서
10이라는 실제객체를 찍어낸것과 같은것입니다.
찍어낸뒤에 그객체가 저장된 실제 메모리 주소를 변수 a가 저장하도록 만들어주는것분입니다.
그런의미에서 '='는 할당 연산자라고한다.
추가사항>
없음(null)과 없음(none) 설명으로
c언어와,자바는 null 이라는 예약어를 사용해 변수가 가르키는 곳이 없다 라는것을 표현하며
파이썬은 none 이라는 예약어를 사용해 변수가 가르키는 곳이 없다라는것을 표현한다.
'Python > 공부' 카테고리의 다른 글
[PYTHON] 5. 리스트(함수포함) (0) | 2022.07.21 |
---|---|
[PYTHON] 3. 문자열, 함수 (0) | 2022.07.21 |
[PYTHON] 2-4.RUR-PLE 실습(조건문) (0) | 2022.07.13 |
[PYTHON] 2-3.RUR-PLE 실습(함수의 호출) (0) | 2022.07.13 |
[PYTHON] 2-2.RUR-PLE 실습(지역변수,전역변수) (0) | 2022.07.13 |