이 키워드는 Java
이 키워드는 무엇입니까? Java?
이 키워드는 Java 메소드나 생성자의 현재 객체를 참조하는 참조 변수입니다. 이 키워드를 사용하는 주요 목적은 Java 동일한 이름을 가진 클래스 속성과 매개변수 간의 혼동을 제거하는 것입니다.
이 키워드의 사용 Java
다음은 'this' 키워드의 다양한 용도입니다. Java:
- 현재 클래스의 인스턴스 변수를 참조하는 데 사용할 수 있습니다.
- 현재 클래스 생성자를 호출하거나 시작하는 데 사용할 수 있습니다.
- 메소드 호출에서 인수로 전달될 수 있습니다.
- 생성자 호출에서 인수로 전달될 수 있습니다.
- 현재 클래스 인스턴스를 반환하는 데 사용할 수 있습니다.
LINK 비디오에 접근할 수 없는 경우
예시를 통해 'this' 키워드를 이해해보세요.
- 클래스: 수업 계정
- 인스턴스 변수: a와 b
- 분석법 세트 데이터: a와 b의 값을 설정합니다.
- 방법 데이터 표시: a와 b의 값을 표시합니다.
- 주요 방법: Account 클래스에 대한 객체를 생성하고 메소드를 호출하여 데이터를 설정하고 데이터를 표시합니다.
코드를 컴파일하고 실행해보자
A와 B에 대한 예상 출력은 각각 값 2와 3으로 초기화되어야 합니다.
그런데 값이 0인데 왜죠? 조사해보자.
Set data 메소드에서 인수는 a 및 b로 선언되고 인스턴스 변수도 a 및 b로 명명됩니다.
실행 중에 컴파일러는 혼란스러워합니다. 할당된 연산자의 왼쪽에 있는 "a"가 인스턴스 변수인지 로컬 변수인지. 따라서 메서드 set data가 호출될 때 'a'의 값을 설정하지 않습니다.
해결책은 "this" 키워드입니다
'a'와 'b'를 모두 추가합니다. Java 이 키워드 뒤에 점(.) 연산자가 옵니다.
코드 실행 중 객체가 'setdata' 메소드를 호출하는 경우. 키워드 'this'는 객체 핸들러 'obj'로 대체됩니다. (아래 이미지 참조).
이제 컴파일러는 다음과 같은 사실을 알고 있습니다.
- 왼쪽의 'a'는 인스턴스 변수입니다.
- 오른쪽의 'a'는 지역 변수입니다.
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 변수 올바르게 초기화되고 예상되는 출력이 표시됩니다.
당신이 인스턴스 변수와 메소드 인수에 대해 다른 이름을 선택할 만큼 똑똑하다고 가정해 보세요.
하지만 이번에는 클래스의 객체 두 개를 생성하고 각각 데이터 설정 메서드를 호출합니다.
컴파일러가 객체 1 또는 객체 2의 인스턴스 변수에서 작동할지 여부를 결정하는 방법.
음, 컴파일러는 암시적으로 추가합니다. "this" 키워드가 있는 인스턴스 변수(아래 이미지)
따라서 객체 1이 데이터 설정 메서드를 호출할 때 인스턴스 변수에 참조 변수가 추가됩니다.
객체 2가 데이터 설정 메서드를 호출하는 동안 객체 2의 인스턴스 변수가 수정됩니다.
이 프로세스는 컴파일러 자체에서 처리됩니다. 이 예와 같이 예외적인 상황이 아닌 이상 '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 인터뷰 질문:- 여기를 클릭하세요.