피클모듈(Pickle module) -- "객체구조 직렬화 모듈"

 

: 파이썬 객체구조를 직렬화하고 역직렬화하기 위한 바이너리 프로토콜 구현

 

: 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러 올 수 있게 하는 모듈

 

 

직렬화(Serialization) -- "Byte 형태로 데이터 변환 기술"

 

: 객체(Object) 또는 데이터(Data)를 외부의 자바시스템에서도 사용할 수 있도록 byte 형태로 데이터를 변환하는 기술 

 

: JAVA 기준, JVM(Java Virual Machine)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술

 

: 데이터스토리지문맥에서 데이터구조나 오브젝트 상태를 다른 컴퓨터 환경에 저장(이를테면, 버퍼에서 또는 메모리 버퍼 또는 네트워크 연결 링크 간 전송)하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정

 

: 객체직렬화란 객체를 일렬로 늘어선 바이너리 형태로 만들어 파일이나 네트워크를 통해 스트림(송수신)이 가능하도록 만드는 것을 직렬화를 통해 만들어진 바이트를 다시 객체를 변환하는 것을 역직렬화하고 한다.

멤버 변수

 

: 객체 지향 프로그래밍에서 멤버 변수 또는 멤버 필드는 특정 객체와 연결된 변수의 하나이며, 해당 변수의 모든 메소드(멤버 함수)에 접근이 가능하다. 클래스 기반 언어에서 이들은 두 정류로 구별된다. 모든 인스턴스의 클래스와 공유되는 변수의 사본이 하나만 있을 경우 이를 클래스 변수나 정적 멤버 변수로 부른다. 클래스의 각 인스턴스가 자신만의 변수 복사본을 소유하고 있는 경우 해당 변수는 인스턴스 변수라 부른다.

 

 

메소드(Method)

 

: 메소드(method) 또는 맴버 함수(member function)는 객체 지향 프로그래밍에서 객체과 관련된 서브 루틴(또는 함수)이며 데이터 멤버 함수에 대한 접근 권한을 갖는다.

 

: 클래스 기반 언어에서 클래스 내부에 정의되어 있다. 메소드는 프로그램이 실행되고 있을 때 클래스에서 생성된 인스턴스와 관련된 동작을 정의한다. 메소드는 런타임(실행 시간) 중에 클래스 인스턴스 (또는 클래스 객체)에 저장되어 있는 데이터에 접근할 수 있는 특수 속성을 가지고 있다. 바인딩은 클래스와 메소드 간의 연관관계를 말한다. 클래스와 관련된 메소드는 클래스에 바인딩 할 수 있다. 메소드는 컴파일 타임 (정적 바인딩) 또는 런타임 (동적 바인딩)에 클래스에 바인딩 할 수 있다.

 

 

바인딩(Binding)

 

: [일반] 이름을 어떤 속성과 연결짓는 과정을 말함

 

: [전산] 변수, 프로시저, 상수 등의 이름(식별자)을 속성 (값)과 연관짓는 것

 

[전산] 바인딩

: 추상적 구문 단위가 여러 속성 중 하나 또는 일부를 연관 짓는 것

- 상수 변수가 실제 상수 값에 바인딩되는 것

- 변수가 메모리에 적재될 때 기억공간 셀에 바인딩되는 것

- 연산 기호('*'등)가 실제 연산('곱셉'등)에 바인딩되는 것

- 함수 호출과 호출된 함수를 연관짓는 메커니즘

- 특정 이벤트에 특정 수행 동작을 연결(바인딩)하는 등

 

<바인딩 시간(binding Time)과 관련하여 구분>

 

- 정적 바인딩 (Static)

 : 초기에(주로, 컴파일시에) 한번 이루어지고 실행 동안 변하지 않고 유지됨

 : 정적 바인딩되는 속성은 정적 속성이라고 함

 

- 동적 바인딩 (Dynamic)

  : 실행 중간에 이루어지고, 다시 해체됨

  : 실행 중간에도 속성 변경이 가능

  : 동적 바인딩되는 속성은 동적 속성이라고 함

 

 

인스턴스 변수(Instance variable)

 

: 클래스가 있는 객체 지향 프로그래밍에서 인스턴스 변수(instance variable)는 클래스(예: 멤버 변수)에 정의된 변수로, 이를 위해 각각의 인스턴스화된 클래스의 객체가 별도의 사본이나 인스턴스를 가지고 있다. 인스턴스 변수는 클래스 변수와 비슷하다.

 

: 인스턴스 변수는 클래스 변수가 아니지만 유사점이 있다. 클래스 속성(클래스 프로퍼티, 필드, 데이터 멤버의 일종이다.) 인스턴스와 클래스 멤버 간에 동일한 이분법이 메소드(멤버 함수)에도 적용되며, 클래스는 인스턴스 메소드와 클래스 메소드를 둘 다 소유 할 수 있다.

 

: 각 인스턴스 변수는 오브젝트의 소유 기간 동안 메모리에 상주한다.

 

 

** 멤버

 

변수는 선언 위치가 '클래스 영역'이고, 지역변수의 선언위치는 '메소드나 생성자 내부'이다. 클래스 변수는 모든 객체가 공통적으로 똑같은 속성을 가질 때 사용, 인스턴스 변수는 각각의 객체(=인스턴스)마다 개별적인 속성을 가져야 할 때 사용한다.

 

 

 

+ Recent posts