java 자바의 this에 대해 알아보자.
우선 this 는 현재 생성된 객체를 가리키는 예약어(=self) 이다.
메소드의 매개변수와 멤버변수가 같으면 구분해주기위해서 멤버변수 앞에 써준다.
추가적으로 this()도 이야기 해보자.
this () => 기본 생성자를 호출하라는 표시
this (1) => 인수 1개짜리 정수형값을 받아서 처리해주는 생성자를 호출하라
this (1, "홍길동") => 인수 2개짜리 값을 받아서 처리해주는 생성자를 호출하라 (첫번째 인수는 정수, 두번째 인수는 문자열 처리)
생성자는 임의로 호출할수가 없다. 객체를 생성할때만 호출이 가능하다. 하지만 하나의 클래스에 생성자가 하나가 아니라 여러개가 있을수가 있다.
생성자 --> 다른 메소드 호출
생성자 --> *다른 생성자도 호출이 가능하다. <==여기서의 생성자는 처음 시작하는 생성자를 의미한다. 임의로 호출이 아니고 객체를 생성해야 가능하다. 그렇다면 이걸 사용하는 이유는 무엇일까? 생성자를 사용하는 목적은 다양한 방법으로 값을 저장 시키기 위함인데, 즉 멤버변수의 값을 다양한 방법으로 저장하기 위해서이다. 이렇게 사용하는 이유는, 코드를 보다 짧게 줄이기 위함이고 간결한 코딩을 위한 방법인것이다. 생성자 안에 매개변수를 입력 메소드가 바로 출력이 될수있도록 효과를 주는것과 비슷한 효과를 낼수가 있다는것이다.
ex) 클래스명 변수 = new 클래스명(); => 클래스명 변수 = new 클래스명(매개변수,매개변수)
추가적으로 생성자를 사용하여 this()를 처리해줄때 중요한 사실이있다. 반드시 한 생성자에서 다른 생성자를 호출할때는 반드시 첫 줄에서만 호출이 가능하다는 것이다.
1. 메소드의 매개변수와 멤버변수가 같을때 컴퓨터인식 X
this.멤버변수 = 매개변수
Setter 값에 200을 입력하여도 a=a; 라는 것때문에 컴퓨터가 대입되는 값을인식하지못한다. 이때 필요한것이 this 이다.
이렇게 this를 기재해주면, 값이 바뀜을 알수가있고 적용이 된다.
this 라는 뜻은 해당 클래스의 멤버변수 ~~ 인 이라는 의미로 받아드려도 된다.
2. 현재 생성된 객체를 가리키는 예약어로써 사용한다.
자기 클래스 생성자 내부에 자기 클래스의 객체명을 사용할수 없는 상황에 this 라는 이름으로 대신 사용하게되고 이러한 유형은 오라클의 동의어와 비슷히다.
'JAVA-Spring > 각종 메소드' 카테고리의 다른 글
JAVA 자바 [ 객체 지향 프로그래밍 ] Final (0) | 2019.07.23 |
---|---|
JAVA 자바 [ 객체 지향 프로그래밍 ] Static, 정적 (0) | 2019.07.23 |
JAVA 자바 [ 객체 지향 프로그래밍 ] 객체 생성 3가지 방법 (0) | 2019.07.23 |
JAVA 자바 [ 객체 지향 프로그래밍 ] 정적 메소드 _ static method (0) | 2019.07.17 |
JAVA 자바 [ 객체 지향 프로그래밍 ] 부록_ 메소드 (0) | 2019.07.15 |
댓글