Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

자바 이것

자바 이 키워드를 사용하는 방법

Java로 코딩을 시작할 때 this라는 키워드를 보게 될 것입니다. 메소드 또는 생성자에서 사용됩니다. this 키워드는 메소드나 생성자 내부의 현재 객체를 가리키며 자바에서 광범위하게 사용됩니다.

이 자습서에서는 Java this 키워드와 사용 방법 및 이유에 대해 알아봅니다. 또한 이 키워드가 실제로 작동하는지 보여주기 위해 기사 전체에서 몇 가지 예를 참조할 것입니다.

자바 메소드 및 생성자

메소드와 생성자는 Java 프로그래밍의 두 가지 중요한 부분입니다.

함수 또는 methods 객체 지향 프로그래밍에서 호출되는 특정 작업을 수행하는 코드 블록입니다. 예를 들어, 메소드는 실행될 때 배열의 내용을 콘솔에 출력하거나 프로그램에서 사용자 입력을 용이하게 할 수 있습니다.

다음은 It’s Monday!를 출력하는 Java 메소드의 예입니다. 콘솔로:

public class PrintMessage {
	public static void main(String[] args) {
		System.out.println("It's Monday!");
	}
}

코드를 실행하면 콘솔에 다음 출력이 반환됩니다. It’s Monday!

생성자는 메서드와 유사하며 프로그램에서 개체가 인스턴스화되거나 생성될 때 호출됩니다. 다음은 day라는 인스턴스 변수의 값을 설정하는 생성자의 예입니다. Monday까지 Monday의 인스턴스가 인스턴스화되고 It’s를 출력할 때 , 요일 다음에 콘솔로:

class Monday {
	private Monday() {
		day = "Monday";
	}

	public static void main(String[] args) {
		Monday day_of_the_week = new Monday();
		System.out.println("It's " + day_of_the_week.day);
	}
}

코드 반환:It’s Monday!

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

생성자에 대해 더 알고 싶다면 자바 생성자에 대한 전체 가이드를 읽어보세요. 이제 Java 메서드와 생성자의 기본 사항을 살펴보았으므로 this 키워드 및 코드에서 사용하는 방법

이 키워드를 자바

자바에서 this 키워드는 메서드 또는 생성자 내부의 현재 개체를 나타냅니다.

이를 설명하기 위해 요일을 콘솔에 출력하는 위의 예제 생성자를 사용하겠습니다. 아래 예에서는 this 값을 출력했습니다. Monday()의 값 우리가 인스턴스화한 개체:

class Monday {
	private String day; 
	private Monday() {
		day = "Monday";
		System.out.println(this);
	}

	public static void main(String[] args) {
		Monday day_of_the_week = new Monday();
		System.out.println("It's " + day_of_the_week.day);
		System.out.println(day_of_the_week);
	}
}

코드는 다음을 반환합니다.

Main@d716361
It's Monday
Main@d716361

출력의 첫 번째 줄은 this의 값입니다. , Monday() 개체가 인스턴스화됩니다. 출력의 두 번째 줄은 It’s를 출력한 결과입니다. , 뒤에 day 값이 옵니다. day_of_the_week 우리가 선언한 객체. 마지막으로 day_of_the_week의 값을 출력합니다. 개체.

보시다시피 this의 값은 및 day_of_the_week 개체는 동일합니다. 즉, this 키워드는 메서드 또는 생성자 내부의 현재 개체를 나타냅니다.

Java 사용 사례

이 키워드를 사용하는 것이 중요한 두 가지 주요 상황이 있습니다. 다음과 같습니다.

  • 변수 이름을 명확하게 하는 데 사용
  • 이를 인수로 전달

this 키워드의 변형, this() , 생성자를 오버로드할 때도 사용됩니다. 그러나 이것은 이것의 고급 사용법이므로 이 기사에서는 다루지 않습니다.

변수 이름을 명확하게 하기 위해 이것을 사용

두 개 이상의 변수는 Java의 범위 내에서 동일한 이름을 가질 수 없습니다. 즉, 두 개의 변수를 선언하고 같은 이름을 사용하면 프로그램의 논리가 영향을 받습니다.

그러나 this를 사용하여 이 제한을 우회할 수 있습니다. 방법. this 특정 변수를 개체에 할당할 수 있으므로 개체의 변수 값과 초기 변수 값을 모두 저장할 수 있습니다.

이것이 어떻게 작동하는지 설명하기 위해 예제를 살펴보겠습니다. 5학년 수업에서 우등 명단에 추가되는 학생의 이름을 추적하는 프로그램을 구축한다고 가정해 보겠습니다. 이 응용 프로그램은 콘솔에 학생의 이름을 인쇄해야 합니다.

다음은 이 애플리케이션을 빌드하는 데 사용할 코드입니다.

class HonorRoll {
	String studentName;

	HonorRoll(String studentName) {
		this.studentName = studentName;
	}

	public static void main(String[] args) {
		HonorRoll alex = new HonorRoll("Alex");
		System.out.println("New honor roll inductee: " + alex.studentName);
	}
}

프로그램을 실행하면 다음이 반환됩니다.

New honor roll inductee: Alex

이 예에서는 this를 사용합니다. HonorRoll에서 학생의 이름을 추적하기 위해 방법. 다음 코드 줄을 사용하여 studentName 값을 할당합니다. 생성자 매개변수(Alex) 위의 예에서) this.studentName 변수에 . 이렇게 하지 않으면 다음이 반환됩니다.

New honor roll inductee: null

이는 HonorRoll 학생의 이름을 저장하는 메소드를 사용하려면 this를 사용해야 합니다. Java 컴파일러에서 모호성을 제거합니다. 따라서 this라는 단어를 제거하면 코드에서 null 값을 얻습니다.

이를 인수로 전달

this 키워드는 메서드 또는 생성자의 현재 개체를 다른 메서드에 전달하는 데 자주 사용됩니다.

지역 커피숍에 재고가 있는 커피 원두 봉지 수를 추적하는 애플리케이션을 구축한다고 가정합니다. 이 응용 프로그램을 사용하면 커피숍 소유자가 재고가 남아 있는 총 가방에 추가할 수 있으며 더 많은 재고가 있을 때 사용할 수 있습니다. 이 애플리케이션을 만드는 데 사용할 수 있는 코드는 다음과 같습니다.

class AddStock {
	int stockToAdd;
	int stockTotal;

	AddStock(int stockToAdd, int stockTotal) {
		this.stockToAdd = stockToAdd;
		this.stockTotal = stockTotal;
		System.out.println("Current stock: " + this.stockTotal);
		calculateNewStock(this);
		System.out.println("New stock: " + this.stockTotal);
	}

	void calculateNewStock(AddStock s) {
		s.stockTotal += s.stockToAdd;
	}
}

class Main {
	public static void main(String[] args) {
		AddStock newStockValue = new AddStock(10, 9);
	}
}

코드 반환:

Current stock: 9
New stock: 19

코드를 분해해 보겠습니다. 코드에서 AddStock라는 클래스를 정의했습니다. . 이 클래스에는 stockToAdd라는 두 가지 값을 사용하는 메서드가 포함되어 있습니다. 및 stockTotal — 그리고 calculateNewStock()를 호출합니다. 커피숍에 재고가 있는 커피 봉지의 수를 계산하는 방법입니다.

그런 다음 Main()을 사용합니다. 클래스를 사용하여 AddStock 클래스의 인스턴스를 초기화하고 10과 9의 두 값을 함께 추가합니다. 프로그램이 실행된 후 코드는 우리가 지정한 두 값(각각 추가할 주식과 현재 주식 합계)을 추가하고 두 값을 모두 출력합니다. 현재 재고 및 수정된 재고 수준을 콘솔에 표시합니다.

이 예에서 this 키워드는 calculateNewStock()를 호출할 때 인수로 사용됩니다. 방법. 이를 통해 AddStock 클래스에서 작업 중인 변수를 calculateNewStock()에 전달할 수 있습니다. 수정된 재고 수준을 계산하려면 이러한 변수가 필요합니다.

결론

Java this 키워드는 메소드 또는 생성자 내부의 현재 객체를 참조합니다. Java에서 this 키워드는 두 가지 주요 용도가 있습니다. 변수 이름을 명확하게 하는 것과 이것을 인수로 전달하는 것

이 튜토리얼에서는 예제를 참조하여 이러한 세 가지 컨텍스트에서 Java this 키워드를 사용하는 방법에 대해 설명했습니다. 이제 전문가처럼 Java this 키워드를 사용하는 데 필요한 지식을 갖추었습니다.