• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Keyword] Java - this 키워드 - (메서드・생성자)에서 현재 객체 지칭. (= 디스)

2,688  
목차
  1. this 예제
  2. this 정의

 

this 예제

Hz.java

 

public class Hz { 

  int x

 

  // 생성자

  public Hz(int x) { 

    this.x = x

  } 


  // 생성자 호출

  public static void main(String[] args)  { 

    Hz my = new Hz(5); 

    System.out.println("x = " + my.x);

  } 

}

 

결과값: x = 5

※ 클래스 속성 x와 매개변수 x 구분 위해 색깔 다르게 표시.

※ 클래스 속성 x : 전역변수. (앞에 this 붙임.)

※ 매개변수 x : 지역변수. (전역변수보다 우선.)

 

this 정의

 

클래스 속성과 이름 같은 매개변수와의 혼동 제거가 주 목적.

 


 

PS1. 

클래스 속성과 매개변수가 동일한 경우 (위 예제), 

this 키워드 생략하면 "5" 대신 "0"이 됨.

만약, 

클래스 속성과 매개변수가 다른 경우,

this 키워드 생략해도 여전히 "5" 됨.

 

따라서, this 키워드 꼭 써주는 게 좋음.


PS2. 

다음 용도로도 사용 가능.


① 현재 클래스 생성자 호출.

② 현재 클래스 메서드 호출.

③ 현재 클래스 객체를 반환.

④ 메서드 호출에서 독립변수 전달.

⑤ 생성자 호출에서 독립변수 전달.


PS.

독립변수(= 인수) : 메서드나 생성자로 전달되는 값.

매개변수 : 메서드나 생성자에서 독립변수를 받기 위한 변수.

 

PS. 관련글

 

클래스/객체 https://homzzang.com/b/java-25

생성자 https://homzzang.com/b/java-28

메서드 https://homzzang.com/b/java?sca=method

 



분류 제목
class Java - LinkedList (링크트리스트) - 반복 접근 최적화 된 유사 배열
class Java - HashMap (해시맵) - key=value 쌍의 유사 배열. (Python Dictionar…
class Java - HashSet (해시셋) - 유일값만 인정하는 유사 배열. ※ Python의 Set과 유사.
class Java - Iterator (반복자)
class Java - Wrapper Classes (랩퍼 클래스)
class Java - Exceptions (= Try...Catch..) - 에러 제어 (= 익셉션 = 트라이...캐…
class Java - RegEx (정규식) - 정규표현식
class Java - Threads (쓰레드)
class Java - Lambda (람다 표현식)
file Java - File 클래스 + 메서드
file Java - Create/Write Files (파일 생성/쓰기)
file Java - Read Files (파일 읽기) - 파일 정보 얻기
file Java - Delete Files (파일 삭제)
Keyword Java - Keywords (키워드) 종류
Keyword Java - abstract 키워드 - 추상 (클래스/메서드) 선언.
Keyword Java - assert 키워드 △ - 디버깅 할 때 사용.
Keyword Java - boolean 키워드 - 참거짓 자료형 지정.
Keyword Java - break 키워드 - (반복문・switch 조건문) 탈출. (= 브레이크)
Keyword Java - byte 키워드 - 1byte 크기의 '정수형' 자료형 지정. (= 바이트)
Keyword Java - case 키워드 - switch 조건문의 각 조건 지정.
3/10
목록
찾아주셔서 감사합니다. Since 2012