인스턴스 변수
Instance variable![]() |
클래스가 있는 객체 지향 프로그래밍에서 인스턴스 변수는 클래스(즉, 멤버 변수)에 정의된 변수이며, 클래스의 인스턴스화된 각 객체는 별도의 복사본 또는 인스턴스를 가집니다.인스턴스 변수는 클래스 [1]변수와 유사하지만 비정적입니다.인스턴스 변수는 클래스에서 선언되지만 생성자, 메서드 또는 블록 외부에 있는 변수입니다.인스턴스 변수는 개체가 인스턴스화될 때 생성되며 클래스의 모든 생성자, 메서드 또는 블록에 액세스할 수 있습니다.인스턴스 변수에 액세스 수식자를 지정할 수 있습니다.
인스턴스 변수는 유사성이 있지만 클래스 변수가 아닙니다.클래스 속성(또는 클래스 속성, 필드 또는 데이터 멤버)의 유형입니다.인스턴스와 클래스 멤버 간의 동일한 이분법이 메서드('멤버 함수')에도 적용됩니다.클래스는 인스턴스 메서드와 클래스 메서드를 모두 가질 수 있습니다.
각 인스턴스 변수는 [2]소유한 개체의 수명 동안 메모리에 상주합니다.
변수는 개체 자체에 대해 알고 있는 속성입니다.값이 개체 간에 동일한 경우에도 개체의 모든 인스턴스에는 인스턴스 변수의 고유한 복사본이 있습니다.하나의 객체인스턴스는 다른 모든 인스턴스에 영향을 주지 않고 인스턴스 변수 값을 변경할 수 있습니다.인스턴스 변수는 메서드가 [3]스태틱으로 선언되지 않는 한 클래스의 모든 메서드에서 사용할 수 있습니다.
예
구조 부탁한다 { 정적인 인트 카운트 1; // 변수 이름은 중요하지 않습니다. 인트 번호; 부탁한다() { 번호 = 카운트 1; // 인스턴스 변수 "this-> number" 를 변경합니다. ++카운트 1; // 클래스 변수 "Request::count1"을 수정합니다. } }; 인트 부탁한다::카운트 1 = 0;
이 C++ 예에서는 인스턴스 변수가Request::number
클래스 변수의 복사본입니다.Request::count1
여기서 구성되는 각 인스턴스는 순차적으로 값이 할당됩니다.count1
증가하기 전에.부터number
각각 인스턴스 변수입니다.Request
개체는 고유한 값을 포함합니다. 대조적으로 개체는 하나뿐입니다.Request::count1
값이 동일한 모든 인스턴스에서 사용할 수 있습니다.
레퍼런스
- ^ "The Java Tutorial, Variables". docs.oracle.com. Oracle. Archived from the original on 23 October 2014. Retrieved 23 October 2014.
- ^ "The Java Tutorials, Understanding Class Members". docs.oracle.com. Oracle. Archived from the original on 11 October 2014. Retrieved 23 October 2014.
- ^ Matuszek, David. "Static". cis.upenn.edu. University of Pennsylvania. Archived from the original on 23 October 2014. Retrieved 23 October 2014.