logo

자바 변수

Java에서 변수는 Java 프로그램 실행 중에 데이터 값을 저장하는 데이터 컨테이너입니다. Java의 모든 변수에는 보유할 수 있는 값의 유형과 수량을 지정하는 데이터 유형이 할당됩니다. 변수는 데이터의 메모리 위치 이름입니다.

자바의 변수

Java 변수는 메모리 위치에 부여되는 이름입니다. 프로그램의 기본 저장 단위입니다.



  • 변수에 저장된 값은 프로그램 실행 중에 변경될 수 있습니다.
  • Java의 변수는 메모리 위치에 부여된 이름일 뿐입니다. 변수에 대해 수행된 모든 작업은 해당 메모리 위치에 영향을 미칩니다.
  • Java에서는 모든 변수를 사용하기 전에 선언해야 합니다.

Java에서 변수를 선언하는 방법은 무엇입니까?

시각적인 도움을 위해 아래 그림과 같이 Java에서 변수를 선언할 수 있습니다.

이미지에서 변수를 선언하는 동안 다음 두 가지 사항을 처리해야 한다는 것을 쉽게 알 수 있습니다.

  1. 데이터 형식 : 이 변수에 저장할 수 있는 데이터 유형입니다.
  2. 데이터_이름: 변수에 이름이 지정되었습니다.

이런 방식으로 이름은 메모리 위치에만 부여될 수 있습니다. 다음 두 가지 방법으로 값을 할당할 수 있습니다.



  • 변수 초기화
  • 입력을 받아 값 할당

Java에서 변수를 초기화하는 방법은 무엇입니까?

이는 다음과 같은 3가지 구성 요소의 도움으로 인식될 수 있습니다.

  • 데이터 형식 : 이 변수에 저장할 수 있는 데이터 유형입니다.
  • 변수_이름 : 변수에 부여된 이름입니다.
  • : 변수에 저장된 초기값입니다.

일러스트레이션:

// Declaring float variable float simpleInterest;  // Declaring and initializing integer variable int time = 10, speed = 20;  // Declaring and initializing character variable char var = 'h';>

Java의 변수 유형

이제 다음과 같이 나열된 다양한 유형의 변수에 대해 논의하겠습니다. 다음과 같습니다:



  1. 지역 변수
  2. 인스턴스 변수
  3. 정적 변수

여기에 나열된 모든 유형의 변수의 특성을 자세히 논의해 보겠습니다.

1. 지역변수

블록이나 메서드, 생성자 내에 정의된 변수를 지역 변수라고 합니다.

  • 이러한 변수는 블록에 들어갈 때 생성되거나, 블록을 종료한 후 함수가 호출되고 소멸되거나, 함수에서 호출이 반환될 때 생성됩니다.
  • 이러한 변수의 범위는 변수가 선언된 블록 내에서만 존재합니다. 즉, 해당 블록 내에서만 이러한 변수에 액세스할 수 있습니다.
  • 정의된 범위에서 사용하기 전에 지역 변수를 초기화하는 것이 필수입니다.

방법의 시간 복잡도:

  Time Complexity:   O(1)   Auxiliary Space:   O(1)>

다음은 위의 접근 방식을 구현한 것입니다.

자바




// Java Program to implement> // Local Variables> import> java.io.*;> class> GFG {> >public> static> void> main(String[] args)> >{> >// Declared a Local Variable> >int> var =>10>;> >// This variable is local to this main method only> >System.out.println(>'Local Variable: '> + var);> >}> }>

문자열 형식화 자바
>

>

산출

Local Variable: 10>

예 :

자바


10개 중 10개



package> a;> public> class> LocalVariable {> >public> static> void> main(String[] args)> >{> >// x is a local variable> >int> x =>10>;> >// message is also a local> >// variable> >String message =>'Hello, world!'>;> >System.out.println(>'x = '> + x);> >System.out.println(>'message = '> + message);> >if> (x>>5>) {> >// result is a> >// local variable> >String result =>'x is greater than 5'>;> >System.out.println(result);> >}> >// Uncommenting the line below will result in a> >// compile-time error System.out.println(result);> >for> (>int> i =>0>; i <>3>; i++) {> >String loopMessage> >=>'Iteration '> >+ i;>// loopMessage is a local variable> >System.out.println(loopMessage);> >}> >// Uncommenting the line below will result in a> >// compile-time error> >// System.out.println(loopMessage);> >}> }>

>

>

출력 :

message = Hello, world! x is greater than 5 Iteration 0 Iteration 1 Iteration 2>

2. 인스턴스 변수

인스턴스 변수는 비정적 변수이며 메서드, 생성자 또는 블록 외부의 클래스에서 선언됩니다.

  • 인스턴스 변수는 클래스에 선언되어 있으므로 클래스의 객체가 생성될 때 이러한 변수가 생성되고 객체가 소멸될 때 소멸됩니다.
  • 지역 변수와 달리 인스턴스 변수에 액세스 지정자를 사용할 수 있습니다. 액세스 지정자를 지정하지 않으면 기본 액세스 지정자가 사용됩니다.
  • 인스턴스 변수의 초기화는 필수가 아닙니다. 기본값은 변수의 데이터 유형에 따라 다릅니다. 을 위한 그것은 없는, ~을 위한 뜨다 그것 ~이다 0.0f, ~을 위한 정수 그것은 0. 다음과 같은 래퍼 클래스의 경우 정수 그것은 널 등
  • 인스턴스 변수는 객체를 생성해야만 접근할 수 있습니다.
  • 다음을 사용하여 인스턴스 변수를 초기화합니다. 생성자 객체를 생성하는 동안. 우리는 또한 사용할 수 있습니다 인스턴스 블록 인스턴스 변수를 초기화합니다.

방법의 복잡성:

  Time Complexity:   O(1)   Auxiliary Space:   O(1)>

다음은 위의 접근 방식을 구현한 것입니다.

자바




// Java Program to demonstrate> // Instance Variables> import> java.io.*;> class> GFG {> >// Declared Instance Variable> >public> String geek;> >public> int> i;> >public> Integer I;> >public> GFG()> >{> >// Default Constructor> >// initializing Instance Variable> >this>.geek =>'Shubham Jain'>;> >}> >// Main Method> >public> static> void> main(String[] args)> >{> >// Object Creation> >GFG name =>new> GFG();> >// Displaying O/P> >System.out.println(>'Geek name is: '> + name.geek);> >System.out.println(>'Default value for int is '> >+ name.i);> > >// toString() called internally> >System.out.println(>'Default value for Integer is '> >+ name.I);> >}> }>

>

사전 초기화 프로그램 C#
>

산출

Geek name is: Shubham Jain Default value for int is 0 Default value for Integer is null>

3. 정적 변수

정적 변수는 클래스 변수라고도 합니다.

  • 이러한 변수는 인스턴스 변수와 유사하게 선언됩니다. 차이점은 정적 변수는 메서드, 생성자 또는 블록 외부의 클래스 내에서 static 키워드를 사용하여 선언된다는 것입니다.
  • 인스턴스 변수와 달리, 생성하는 객체 수에 관계없이 클래스당 정적 변수 복사본은 하나만 가질 수 있습니다.
  • 정적 변수는 프로그램 실행 시작 시 생성되고 실행이 끝나면 자동으로 소멸됩니다.
  • 정적 변수의 초기화는 필수가 아닙니다. 기본값은 변수의 데이터 유형에 따라 다릅니다. 을 위한 그것은 없는 , 을 위한 뜨다 그것은 0.0f , 을 위한 정수 그것은 0 , 을 위한 래퍼 클래스 좋다 정수 그것은 없는, 등.
  • (객체를 통해) 인스턴스 변수와 같은 정적 변수에 액세스하면 컴파일러는 경고 메시지를 표시하지만 프로그램은 중단되지 않습니다. 컴파일러는 자동으로 객체 이름을 클래스 이름으로 바꿉니다.
  • 클래스 이름 없이 정적 변수에 액세스하면 컴파일러는 자동으로 클래스 이름을 추가합니다. 그러나 다른 클래스의 정적 변수에 액세스하려면 두 개의 다른 클래스에 동일한 이름의 정적 변수가 있을 수 있으므로 클래스 이름을 언급해야 합니다.
  • 정적 변수는 인스턴스 메서드 내에서 로컬로 선언할 수 없습니다.
  • 정적 블록 정적 변수를 초기화하는 데 사용할 수 있습니다.

방법의 복잡성:

  Time Complexity:   O(1)   Auxiliary Space:   O(1)>

다음은 위의 접근 방식을 구현한 것입니다.

자바




// Java Program to demonstrate> // Static variables> import> java.io.*;> class> GFG {> >// Declared static variable> >public> static> String geek =>'Shubham Jain'>;> > >public> static> void> main(String[] args)> >{> >// geek variable can be accessed without object> >// creation Displaying O/P GFG.geek -->>'>를 사용하여 + GFG.geek);> >// static int c=0;> >// above line,when uncommented,> >// will throw an error as static variables cannot be> >// declared locally.> >}> }>

>

>

산출

Geek Name is : Shubham Jain>

인스턴스 변수와 정적 변수의 차이점

이제 인스턴스 변수와 정적 변수의 차이점을 살펴보겠습니다.

  • 각 객체에는 자체 인스턴스 변수 복사본이 있는 반면, 생성하는 객체 수에 관계없이 클래스당 정적 변수 복사본은 하나만 가질 수 있습니다. 따라서, 정적 변수 에 좋다 메모리 관리 .
  • 한 개체를 사용하여 인스턴스 변수에 적용된 변경 사항은 각 개체에 인스턴스 변수의 자체 복사본이 있으므로 다른 개체에 반영되지 않습니다. 정적 변수의 경우 정적 변수는 클래스의 모든 개체에 공통이므로 변경 사항이 다른 개체에 반영됩니다.
  • 객체 참조를 통해 인스턴스 변수에 접근할 수 있고, 클래스 이름을 사용하여 정적 변수에 직접 접근할 수 있습니다. .
  • 인스턴스 변수는 'new' 키워드를 사용하여 객체가 생성될 때 생성되고 객체가 소멸될 때 소멸됩니다. 정적 변수는 프로그램이 시작될 때 생성되고 프로그램이 중지되면 소멸됩니다.

통사론: 정적 및 인스턴스 변수

class GFG {  // Static variable  static int a;     // Instance variable  int b;  }>

결론

기사에서 기억해야 할 중요한 사항은 다음과 같습니다.

  • Java의 변수는 Java 프로그램 실행 중에 데이터 값을 저장하는 데이터 컨테이너입니다.
  • Java에는 로컬 변수, 정적 변수 및 인스턴스 변수의 세 가지 유형의 변수가 있습니다.

Java 변수에 대한 FAQ

Q1. Java의 변수란 무엇입니까?

변수는 내부에 데이터 값을 저장할 수 있는 Java의 컨테이너입니다.

Q2. Java의 3가지 유형의 변수는 무엇입니까?

Java에는 세 가지 유형의 변수가 아래에 언급되어 있습니다.

  1. 지역 변수
  2. 정적 변수
  3. 인스턴스 변수

Q3. Java 예제에서 변수를 선언하는 방법은 무엇입니까?

아래와 같이 구문을 사용하여 Java에서 변수를 선언할 수 있습니다.

data_type variable_name;>

예:

// Integer datatype with var1 name int var1;>

꼭 읽어야 할 내용:

  • Java의 변수 선언 규칙
  • Java의 변수 범위
  • C++와 Java의 정적 키워드 비교
  • Java에서는 정적 지역 변수가 허용됩니까?
  • Java의 인스턴스 변수 숨기기