이 키워드는 Java

이 키워드는 무엇입니까? Java?

이 키워드는 Java 메소드나 생성자의 현재 객체를 참조하는 참조 변수입니다. 이 키워드를 사용하는 주요 목적은 Java 동일한 이름을 가진 클래스 속성과 매개변수 간의 혼동을 제거하는 것입니다.

이 키워드의 사용 Java

다음은 'this' 키워드의 다양한 용도입니다. Java:

  • 현재 클래스의 인스턴스 변수를 참조하는 데 사용할 수 있습니다.
  • 현재 클래스 생성자를 호출하거나 시작하는 데 사용할 수 있습니다.
  • 메소드 호출에서 인수로 전달될 수 있습니다.
  • 생성자 호출에서 인수로 전달될 수 있습니다.
  • 현재 클래스 인스턴스를 반환하는 데 사용할 수 있습니다.

LINK 비디오에 접근할 수 없는 경우

예시를 통해 'this' 키워드를 이해해보세요.

이 키워드는 Java
Java 이 키워드 예

  1. 클래스: 수업 계정
  2. 인스턴스 변수: a와 b
  3. 분석법 세트 데이터: a와 b의 값을 설정합니다.
  4. 방법 데이터 표시: a와 b의 값을 표시합니다.
  5. 주요 방법: Account 클래스에 대한 객체를 생성하고 메소드를 호출하여 데이터를 설정하고 데이터를 표시합니다.

코드를 컴파일하고 실행해보자

A와 B에 대한 예상 출력은 각각 값 2와 3으로 초기화되어야 합니다.

그런데 값이 0인데 왜죠? 조사해보자.

이 키워드는 Java

Set data 메소드에서 인수는 a 및 b로 선언되고 인스턴스 변수도 a 및 b로 명명됩니다.

이 키워드는 Java

실행 중에 컴파일러는 혼란스러워합니다. 할당된 연산자의 왼쪽에 있는 "a"가 인스턴스 변수인지 로컬 변수인지. 따라서 메서드 set data가 호출될 때 'a'의 값을 설정하지 않습니다.

이 키워드는 Java

해결책은 "this" 키워드입니다

'a'와 'b'를 모두 추가합니다. Java 이 키워드 뒤에 점(.) 연산자가 옵니다.

이 키워드는 Java

코드 실행 중 객체가 'setdata' 메소드를 호출하는 경우. 키워드 'this'는 객체 핸들러 'obj'로 대체됩니다. (아래 이미지 참조).

이 키워드는 Java

이제 컴파일러는 다음과 같은 사실을 알고 있습니다.

  • 왼쪽의 'a'는 인스턴스 변수입니다.
  • 오른쪽의 'a'는 지역 변수입니다.

이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 변수 올바르게 초기화되고 예상되는 출력이 표시됩니다.

이 키워드는 Java

당신이 인스턴스 변수와 메소드 인수에 대해 다른 이름을 선택할 만큼 똑똑하다고 가정해 보세요.

이 키워드는 Java

하지만 이번에는 클래스의 객체 두 개를 생성하고 각각 데이터 설정 메서드를 호출합니다.

컴파일러가 객체 1 또는 객체 2의 인스턴스 변수에서 작동할지 여부를 결정하는 방법.

이 키워드는 Java

음, 컴파일러는 암시적으로 추가합니다. "this" 키워드가 있는 인스턴스 변수(아래 이미지)

이 키워드는 Java

따라서 객체 1이 데이터 설정 메서드를 호출할 때 인스턴스 변수에 참조 변수가 추가됩니다.

이 키워드는 Java

객체 2가 데이터 설정 메서드를 호출하는 동안 객체 2의 인스턴스 변수가 수정됩니다.

이 키워드는 Java

이 프로세스는 컴파일러 자체에서 처리됩니다. 이 예와 같이 예외적인 상황이 아닌 이상 'this' 키워드를 명시적으로 추가할 필요가 없습니다.

이 키워드는 Java 예와 함께

예: “this” 키워드 사용법을 배우려면

단계 1) 다음 코드를 메모장에 복사하세요.

class Account{
int a;
int b;

 public void setData(int a ,int b){
  a = a;
  b = b;
 }
 public void showData(){
   System.out.println("Value of A ="+a);
   System.out.println("Value of B ="+b);
 }
 public static void main(String args[]){
   Account obj = new Account();
   obj.setData(2,3);
   obj.showData();
 }
}

단계 2) 코드를 저장하고, 컴파일하고, 실행하세요.

단계 3) a & b의 값이 6으로 표시됩니까? 오류를 수정하려면 라인 # 7 및 XNUMX에 "를 추가하십시오." 키워드.

this.a =a;
this.b =b;

단계 4) 코드를 저장하고, 컴파일하고, 실행합니다. 이번에는 a와 b의 값이 각각 2와 3으로 설정됩니다.

요약

  • 키워드 Java 현재 객체를 참조하는 참조 변수입니다.
  • 이 키워드의 용도 중 하나는 Java 현재 클래스 인스턴스 변수를 참조하는 것입니다
  • 현재 클래스 생성자를 호출하거나 시작하는 데 사용할 수 있습니다.
  • 메소드 호출에서 인수로 전달될 수 있습니다.
  • 이 포인터 Java 생성자 호출에서 인수로 전달될 수 있습니다.
  • 이 연산자는 Java 현재 클래스 인스턴스를 반환하는 데 사용할 수 있습니다.
  • 이 안에 Java 메소드가 호출되는 현재 객체에 대한 참조입니다.
  • 인스턴스/객체의 메서드/생성자에서 이름 지정 충돌을 피하기 위해 "this" 키워드를 사용할 수 있습니다.

우리의 기사를 확인하십시오 Java 인터뷰 질문:- 여기를 클릭하세요.