자바 이 키워드를 사용하는 방법
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 키워드를 사용하는 데 필요한 지식을 갖추었습니다.