ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2024.03.12 - this, this 생성자
    C# 2024. 3. 12. 23:34
    • this 키워드

    this 키워드는 클래스의 현재 인스턴스를 가리킨다. (대충 자기 자신을 가리킨다고 이해할 수 있다.)

    this 키워드가 가장 많이 활용되는 방법으로는 비슷한 이름으로 숨겨진 멤버를 한정할 때이다.

    (대충 클래스의 멤버와 이름이 겹치는 외부의 무언가와 구분하기 위해서 사용한다고 이해할 수 있다.)

     

    - 클래스의 생성자에서 사용되는 this(가장 많이 활용되는 방법)

     

    한 번쯤 봤을 법한 this의 사용방법이다. Player의 생성자의 매개변수 name, atk는 Player 클래스의 인스턴스가 가지고 있는 멤버 name, atk와 이름이 겹친다. 이를 this 키워드로 한정해 주면 name, atk가 클래스의 멤버인지, 매개변수인지 구분할 수 있다.

     

     

    • this 생성자

    클래스는 생성자의 매개변수 개수에 따라 여러가지 생성자를 가질 수 있다. 

    this 키워드를 사용하면, 생성자를 호출할 때 클래스 내의 다른 생성자를 호출할 수 있다.

    이렇게 this 키워드를 사용하는 것이 this 생성자이다. 

     

    - this 생성자를 사용하는 방법 

    생성자(매개변수들) : this(매개변수들) { }

     

     

    생성자 Player(string name)에 상속된 것 같이 보이는 this 생성자 this()는, Player(string name)이 호출되면 먼저 Player()를 호출한다.

     

     

    생성자 Player(string name)을 통해 Player의 인스턴스를 생성하면, player의 atk의 값으로 100이 들어가 있음을 확인할 수 있다. Player(string name)에는 player.atk를 초기화하는 코드가 없지만, this 생성자를 통해 생성자 Player()가 호출되어 player.atk에 100이라는 값이 들어갔다.

     

     

    - this 생성자를 활용해서 생성자의 코드를 간략하게 만들기

    this 생성자를 사용하지 않으면, 생성자의 인수가 많아질 수록 아래처럼 코드가 길어질 것이다.

    this 생성자를 활용하지 않은 예시

     

    this 생성자를 활용하면 각 생성자가 반복적으로 작동하는 부분을 제거하여 다른 생성자에게 처리를 맡길 수 있다.

    this 생성자를 활용한 예시

     

    this 생성자가 다른 생성자를 호출하는 과정

    'C#' 카테고리의 다른 글

    2024.03.13 - LinkedList  (0) 2024.03.14
    2024.03.13 - List  (0) 2024.03.13
    2024.03.12 - 큐(Queue)  (0) 2024.03.12
    2024.03.12 - 스택(Stack)  (0) 2024.03.12
    2024.03.12 - Nullable Type(?), 조건 연산자(?:), null 조건부 연산자(?.)  (0) 2024.03.12
Designed by Tistory.