Java. 생성자 this.

kimkim·2024년 9월 7일

Java. 공부내용정리

목록 보기
20/38

this.

생성자

  • 객체를 new해서 불러왔을 때 객채를 불러오자 마자 실행되는 매서드
  • 생성자는 클래스의 이름을 가지고와 매서드이다.
  • 매게 변수 없이도 만들 수 있지만, 매게변수를 넣어서 만들 수 있다.
  • 매게 변수가 있는 생성자를 사용할 때는 new 했을 때 인자를 꼭 넣어주어야 한다.
  • 그렇지 않으면 에러가 발생한다.

this.

  • 매서드에 있는 매개 변수와 객체의 변수에 연결시킬 때 사용할 수 있다.
public class This {
	public static void main(String[] args){
		Person p1 = new Person(“홍길동”, 20);
		// 새로운 객체를 만들고 그 객체의 리모컨을 p1이라는 변수에 담는다.
		// 객체에 있는 생성자로 인해 새로운 객체를 만든 ()에 인자를 넣는다.
		// 입력된 인자는 객체의 생성자의 매개변수를 통해서 들어간다.
		
		// 결과 : 안녕하세요. 20살 홍길동입니다.
	}
}

public class Person{
	// 객체와 관련된 정보를 담는 변수 선언
	int age ;
	String name;

	// 객체와 관련된 생성자 생성
	public Person(int age, String name){
	// 보통 매개변수의 명은 정보값을 받을 때 객체의 변수와 같다면, 객체변수에 입력되어 있는 변수명을 사용한다.
		this.age = age;
		this.name = name;
		// 매개변수에 설정되어 있는 이름과 객체의 매게변수의 이름과 같을 때 보통 본인 영역에 있는 변수명을 먼저 사용하게 된다.
		// 만약 this가 없다면 name은 매개변수의 이름으로 인삭하여 에러가 났을 것이다.
		// 하위 영역의 매개변수과, 상위 영역의 변수명의 충돌을 피하기 위해 영역의 다른 변수를 this.를 사용해서 구분해준다
	}
}

결론 : 하위 영역에서 매서드외에 상위 영역의 변수를 사용하고 구분하고 싶을 때 this.를 사용해 상위 영역의 변수와의 충돌을 막는다.

0개의 댓글