일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 서열정렬
- 시그모이드
- 블록체인
- Kaggle
- 오류역전파
- CNN
- ncbi
- 행렬
- AP
- SVM
- 자바
- 캐글
- 바이오파이썬
- 결정트리
- 바이오인포매틱스
- bioinformatics
- 인공지능
- 인공지능 수학
- 파이썬
- 이항분포
- COVID
- AP Computer Science A
- 인공신경망
- 딥러닝
- 알파폴드
- MERS
- 생명정보학
- BLaST
- Java
- 생물정보학
- Today
- Total
데이터 과학
this 키워드 본문
자바에서 this 키워드는 현재 객체를 가리키는 참조입니다. 이 키워드를 사용하여 클래스 내부에서 현재 객체의 멤버 변수와 메서드에 접근할 수 있습니다. this 키워드는 다음과 같은 상황에서 주로 사용됩니다:
1. 변수 이름 충돌 해결: 클래스의 멤버 변수와 메서드 내의 매개변수 또는 지역 변수의 이름이 충돌하는 경우, this 키워드를 사용하여 멤버 변수를 참조합니다. 이렇게 하면 현재 객체의 멤버 변수임을 명시적으로 나타낼 수 있습니다.
public class Person {
private String name;
public void setName(String name) {
this.name = name; // this 키워드를 사용하여 멤버 변수를 참조
}
}
이 예제는 this 변수에 대해 잘 설명해 주는 예제입니다. toString과 복합적으로 사용하여 간단하게 결과를 나타낼 수 있습니다.
public class OrderedPair {
private double x;
private double y;
//constructors and other methods ...
/** @return this OrderedPair in String form */
public OrderedPair(int x,int y)
{
this.x=x;
this.y=y;
}
public String toString()
{
return "(" + x + "," + y + ")";
}
public static void main(String args[]) {
OrderedPair p = new OrderedPair(7,10);
System.out.println(p);
}
}
결과
2. 생성자 호출: 생성자 내에서 다른 생성자를 호출할 때, this 키워드를 사용할 수 있습니다. 이를 통해 생성자 간의 코드 중복을 피하고, 여러 생성자에서 공통된 초기화 작업을 수행할 수 있습니다.
public class Rectangle {
private int width;
private int height;
public Rectangle() {
this(0, 0); // 다른 생성자 호출
}
public Rectangle(int width, int height) {
this.width = width;
this.height = height;
}
}
3. 메서드 체이닝: 메서드 호출 시 this 키워드를 반환하여 메서드 체이닝을 구현할 수 있습니다. 이를 통해 여러 메서드를 연속적으로 호출하고, 코드의 가독성을 높일 수 있습니다.
public class StringBuilder {
private String value;
public StringBuilder append(String str) {
this.value += str;
return this; // this를 반환하여 메서드 체이닝 구현
}
}
this 키워드는 현재 객체를 가리키는 참조로, 클래스 내부에서 현재 객체의 멤버에 접근하는 데 사용됩니다. 이를 통해 객체 지향 프로그래밍에서 현재 객체를 명시적으로 참조하고 다양한 상황에서 유용하게 활용할 수 있습니다.
https://dreamcoding.tistory.com/60
[JAVA 자바] 메소드 체이닝이란?
지난번 포스팅으로 빌더 패턴에 대해서 알아보았습니다. https://dreamcoding.tistory.com/56 [디자인 패턴] 빌더 패턴(Builder Pattern) 스프링 인 액션 5판 스터디를 진행하던 중에 스프링 시큐리티에서 빌더
dreamcoding.tistory.com
'프로그래밍 언어론 > JAVA 기초' 카테고리의 다른 글
제네릭 (0) | 2023.06.06 |
---|---|
자바언어에서 ArrayList (0) | 2023.06.06 |
객체지향 (21) | 2023.04.15 |
public, private, 그리고 static (0) | 2023.03.27 |
부동소수점 연산 - BigDecimal (0) | 2023.03.20 |