Skip to main content

인스턴스 변수는 무엇입니까?

인스턴스 변수는 상주하는 모든 객체에 대해 고유 한 값을 갖는 객체 지향 프로그래밍의 데이터 조각입니다.인스턴스 변수를 인스턴스 멤버, 비 정적 필드 및 데이터 멤버라고도합니다.객체가 계산에 사용하는 특정 데이터 조각을 보유하는 대부분의 객체의 중요한 부분입니다.Blah라는 인스턴스 변수가 있으며, 두 개의 blah 변수는 별개의 엔티티입니다.각 변수는 캡슐화하는 객체와 관련이 있습니다.Object A와 관련된 변수 Blah의 전체 이름은 A.Blah이고, 객체 B와 관련된 변수 BLAH의 전체 이름은 B.Blah입니다.이러한 변수에 자체 값이있을 수있는 경우 각각.객체 A와 B가 동일한 유형이고 해당 유형의 다른 객체 C가 생성되고 개체 C는 고유 한 값을 가질 수있는 인스턴스 변수 BLAH도 있습니다.

인스턴스 변수는 종종 혼동됩니다.정적 변수이지만 둘은 크게 다릅니다.특정 유형의 모든 객체가 고유 한 인스턴스 변수와 달리 정적 변수는 하나의 값 만 가지며이 값은 적절한 유형의 모든 객체에 대해 동일합니다.정적 변수는 종종 클래스 변수라고하며 인스턴스 변수와 다르지 않습니다.

에 할당 된 가시성 속성에 따라 인스턴스 변수는 특정 객체 내부, 객체 및 하위 클래스 또는 객체에만 볼 수 있습니다.다른 객체뿐만 아니라 상주합니다.대중 가시성이라고하는 최종 가시성 유형은 객체 지향 프로그래밍에서 캡슐화 원칙을 위반하기 쉽기 때문에 예를 들어 변수와 같은 나쁜 관행으로 간주됩니다.이 금기에도 불구하고 공개 인스턴스 변수가 유용한 시간이 있습니다.예를 들어, Java의 많은 표준 클래스에는 공개 인스턴스 변수가 있으며, 때로는 속성을 쉽게 수정할 수 있습니다.한 클래스가 다른 클래스로부터 상속되면 두 클래스에 즉시 서로에 액세스 할 수 없습니다. 인스턴스 변수.슈퍼 클래스 및 서브 클래스의 개인 인스턴스 변수는 해당 클래스로만 제한되어 있으므로 서브 클래스의 개인 변수는 슈퍼 클래스로 볼 수 없으며 그 반대도 마찬가지입니다.슈퍼 클래스와 서브 클래스가 볼 수있는 유일한 인스턴스 변수는 슈퍼 클래스의 보호 된 변수입니다.