목록필요 없어진 항목들/프로그래밍 기본 (4)
** 변수는 객체의 메모리 주소를 저장하고 이를 이용해서 객체를 참조한다 변수 객체 ** 주로 객체를 복사할 때 나타나는 현상 ** 얕은 복사 : 기존 변수를 새롭게 선언한 다른 변수에 할당했을때, 새롭게 선언된 변수는 메모리에 직접 접근하는 것이 아닌, 기존 변수의 주소값만을 복사해오는 방식으로 접근한다. 따라서 기존 레퍼런스 변수를 수정해도 새로운 변수에서 똑같은 내용이 호출된다. ** 객체 자체가 복사되는 것이 아니다!! ** 깊은 복사 : 객체 자체를 복사하는 것으로, 또 하나의 객체가 만들어진다. 새로운 주소의 메모리에 복사본을 생성하는 것. ** 객체 자체가 기존 변수의 메모리 주소와는 다른 위치에 복사되는 것이다. ** 여러가지 방법이 있음, 우선은 (모듈 copy 를 이용한다. import..
** 오늘은 너무 졸려서 그만 공부하고 싶기 때문에 필자가 좋아하는 볼링공에 대한 클래스를 생성하고, 마이볼을 객체로 생성해보겠다. 이름 , 퍼포먼스, 커버스탁, rg, diff, 가격등이 주요한 기능/속성으로 정의되기 때문에 그정도만 하겠다. ** 잘맞는 코어 종류나 지공 까지는 모르니까 그냥 고려하지 않겠다. ** 볼링은 정말 재밌다 ** 아무튼, 이미 선언했던 객체일지라도 도트할당연산자를 통해 속성은 변경할 수 있다. ( 수정할 수 있다 ) object_name.attribute_1 = "renewal information input" ** 클래스 선언 및 기능 / 속성 정의 ( 예시에서는 피곤해서 구체적으로 안함 ) ** self.attribute1 ..... self.attribute2.... ..
** 클래스는 class 키워드(=클래스 선언)와 속성(=변수) 기능(=함수)를 이용해서 만든다 ** 관례상 클래스의 첫 알파벳은 대문자로 입력한다
** 객체를 이용한 프로그램으로 객체는 속성과 기능으로 구성된다. ** 객체는 우리 주변에 존재하는 그 모든것이 대상이 될 수 있다. 프로그래밍 적으로 바라본 것. ** '객체'라는 것을 소프트웨어 상에서 구현하기 위해 객체의 속성과 기능을 정의한다. ** 객체(Object) = 속성(Attribute) + 기능(Function) 계산기 -> 속성 : 숫자 -> 기능 : 덧셈, 뺄셈 마우스 -> 속성 : 색상, 크기, dpi 등등 -> 기능 : 입력(좌/우 클릭, 스크롤, bw, fw 등등) ** 객체는 클래스에서 생성된다 . 클래스는 객체를 만들기 위한 하나의 '틀'이다. 명령을 통해 클래스에서 객체들을 생산한다. ex) 피자 클래스 -> 아이리쉬 포테이토 객체 -> 올미트 객체 -> 슈퍼 파파스 객체..