모든 프로그래밍 언어에서 프로그램에는 프로그램 전체에서 사용할 수 있는 다양한 값을 저장하기 위한 식별자가 필요합니다. 이러한 식별자는 변수입니다.
자바의 변수
- 변수는 시스템 메모리 내부에 저장되는 값에 할당된 이름입니다. 프로그램 실행 중에 값이 업데이트될 수 있습니다.
- Java 프로그래밍에서는 프로그램에 사용되는 변수를 먼저 선언해야 합니다.
- 변수는 데이터 유형과 식별자 이름을 사용하여 선언됩니다. 변수는 선언 시 초기화되거나 프로그램 실행 중에 사용자로부터 가져온 값을 할당할 수 있습니다.
- Java에는 기본적으로 세 가지 유형의 변수가 있습니다.
- 자바 지역 변수
- 자바 인스턴스 변수
- Java 정적 변수 / Java 클래스 변수
자바 인스턴스 변수
- 클래스 내부에 선언되었지만 메소드 범위 외부에 선언된 변수를 Java에서는 인스턴스 변수라고 합니다.
- 인스턴스 변수는 클래스 로딩 시 또는 클래스의 객체 생성 시 초기화됩니다.
- 인스턴스 변수는 default, private, public 및 protected와 같이 Java에서 사용할 수 있는 다양한 액세스 한정자를 사용하여 선언할 수 있습니다.
- 다양한 유형의 인스턴스 변수에는 다음 지점에서 지정되는 기본값이 있습니다.
특징
- 인스턴스 변수를 사용하려면 클래스의 객체를 만들어야 합니다.
- 인스턴스 변수는 연결된 객체가 소멸될 때 소멸됩니다.
- 인스턴스 변수는 반드시 초기화할 필요가 없습니다.
- 인스턴스 변수는 해당 변수를 선언한 동일한 클래스 내에서 액세스할 수 있습니다.
인스턴스 변수의 한계
- 정적, 추상, striftp, 동기화 및 기본으로 선언할 수 없습니다.
- 최종적이고 일시적이라고 선언될 수 있습니다.
- Java에서 사용할 수 있는 4가지 액세스 한정자(private, public, protected 및 default) 중 하나일 수 있습니다.
Java의 인스턴스 변수 기본값
Java의 인스턴스 변수는 다음과 같이 다양한 데이터 유형을 갖습니다.
자바와 같음
인스턴스 변수 유형 | 기본값 |
---|---|
부울 | 거짓 |
바이트 | (바이트) 0 |
짧은 | (짧게) 0 |
정수 | 0 |
더블 | 0.0일 |
뜨다 | 0.0 |
긴 | 0L |
물체 | 없는 |
숯 | u0000 |
Java 프로그램에서 인스턴스 변수를 사용해 봅시다.
Java 프로그램에서 인스턴스 변수 사용
다음 Java 프로그램에서는 클래스 학생 기록 선언되고 인스턴스 변수는 다른 액세스 수정자를 사용하여 생성됩니다.
Studentsrecords.java
public class Studentsrecords { /* declaration of instance variables. */ public String name; //public instance String division; //default instance private int age; //private instance /* Constructor that initialize an instance variable. */ public Studentsrecords(String sname) { name = sname; } /* Method to intialize an instance variable. */ public void setDiv(String sdiv) { division = sdiv; } /* Method to intialize an instance variable. */ public void setAge(int sage) { age = sage; } /* Method to display the values of instance variables. */ public void printstud() { System.out.println('Student Name: ' + name ); System.out.println('Student Division: ' + division); System.out.println('Student Age: ' + age); } /* Driver Code */ public static void main(String args[]) { Studentsrecords s = new Studentsrecords('Monica'); s.setAge(14); s.setDiv('B'); s.printstud(); } }
산출:
문자열 json객체
Student Name: Monica Student Division: B Student Age: 14
위의 Java 프로그램은 클래스의 객체를 선언하여 인스턴스 변수를 초기화합니다. 학생 기록 . 인스턴스 변수의 값 이름, 부서, 그리고 나이 다음을 사용하여 표시됩니다. 인쇄된() 방법.
Java의 로컬, 인스턴스 및 정적 변수의 차이점
아니요 씨. | 지역 변수 | 인스턴스 변수 | 정적 변수 |
---|---|---|---|
1. | 메소드 내에서 선언된 변수는 지역 변수입니다. | 인스턴스 변수는 클래스 내부에서 선언되지만 메서드나 블록 외부에서는 선언됩니다. | 정적 변수는 클래스 내부에서 선언되지만 static 키워드로 시작하는 메서드 외부에서는 선언됩니다. |
2. | 지역 변수의 범위는 내부에 선언된 메서드로 제한됩니다. | 인스턴스 변수는 클래스 전체에서 액세스 가능합니다. | 정적 변수는 클래스 전체에서 액세스할 수 있습니다. |
삼. | 지역 변수는 메서드가 호출될 때 수명이 시작됩니다. | 인스턴스 변수와 연관된 객체가 수명을 결정합니다. | 정적 변수는 프로그램과 동일한 수명을 갖습니다. |
4. | 지역 변수는 클래스의 모든 객체에 접근 가능합니다. | 인스턴스 변수에는 객체마다 다른 복사본이 있습니다. | 정적 변수에는 전체 클래스의 단일 복사본만 있습니다. |
5. | 특정 메소드에 필요한 값을 저장하는 데 사용됩니다. | 클래스의 다양한 메서드에서 액세스하는 데 필요한 값을 저장하는 데 사용됩니다. | 상수를 저장하는 데 사용됩니다. |