ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 학원 DAY10. this
    기록 2022. 9. 26. 21:11

    this

    - this는 인스턴스 자기 자신을 가리키는 키워드.

    - 모든 객체 안에는 this라는 이름의 변수가 자동으로 생성된다.

    - this는 생성된 객체 자기 자신의 주소값을 가지고 있다

      this 키워드는 이 클래스를 기반으로 생성된 인스턴스를 참조한다.

    - 객체 외부에서 인스턴스 멤버에 접근하기 위해 참조 변수를 사용하는 것과 마찬가지로 객체 내부(인스턴스 메소드와 생성자에서)에서도 인스턴스 멤버(멤버변수나 멤버메소드)에 접근하기 위해 this를 사용할 수 있다. 

    - this는 주로 생성자와 메소드의 매개변수 이름이 필드와 동일한 경우, 인스턴스 멤버인 필드임을 명시하고자 할 때 사용된다. 

    - 객체(클래스) 안에서만 사용할 수 있다. 외부에서는 못 쓴다.

      public class EmployeeApp {

          public static void main(String[] args) {

                 Employee emp1 = new Employee(10, "김유신“, 250);

                 this. <= 이렇게 못 씀 (Employee의 this가 아닌 EmployeeApp의 this이다.)

                 emp1.display(); <= 이렇게 써야 함.

    - 생성자를 이용하여 객체 생성시점에 멤버변수에 값을 넣어줄 수 있다.

    - 생성자도 메소드이니까 생성자 안의 변수는 메소드가 닫히면 사라져버림. 그러니까 객체 자신의 주소값을 갖고 있는 'this.멤버변수 = 매개변수로 받은 변수' 이런 식으로 넣어주는 것임. 즉, 멤버변수의 값을 바꾸고 싶을 때 this를 쓴다.

    - 위의 코드를 생성자를 활용해서 간단하게 적을 수 있다.

    Employee emp = new Employee(100, "홍길동", "영업1팀", 600, 100, false);

    - 생성자의 주요 목적 중에 하나가 멤버변수의 초기화다. 

    - 생성자 메소드는 객체 생성시점에 실행되는 메소드

      일반 메소드는 객체 생성 후에 참조변수를 통해서만 실행할 수 있다.

    댓글

Designed by Tistory.