인프런 커뮤니티 질문&답변

ppj2130님의 프로필 이미지
ppj2130

작성한 질문수

나도코딩의 자바 기본편 - 풀코스 (20시간)

제네릭 클래스 (연장 전반전)

user.name과 user의 차이점 질문

작성

·

291

0

 안녕하세요. 제네릭클래스 (연장 전반전)에서

 

user.name 으로 이름을 지정해주시는데

 

해당 클래스에서 그냥 user를 적용하는 것과 무슨 차이점이 있는지 궁금해서 질문 남깁니다.

 

감사합니다!

답변 1

0

나도코딩님의 프로필 이미지
나도코딩
지식공유자

안녕하세요?

강의 5분 14초 정도의 아래 코드에 대한 질문이실까요?

public void ready() {
    System.out.println("커피 준비 완료 : " + user.name);
    user.addPoint();
}

여기서 user.name 을 사용한 이유는 User 클래스가 가지고 있는 name 문자열을 출력하기 위한 것입니다.

CoffeeByUser 클래스의 생성자에서 다음과 같이 인스턴스 변수인 T user 가 전달값으로 받은 user 를 참조하도록 하였는데, 이를 통해 user 는 어디선가 만들어진 객체를 참조, 즉 가리키게 됩니다.

public T user; // 인스턴스 변수

public CoffeeByUser(T user) { // 전달받은 user
    this.user = user;
}

그리고 이 user 가 참조하는 객체의 name 변수에 저장된 값을 출력하기 위해 user.name 코드를 사용한 것이지요.

혹시 추가로 궁금한 사항이 있다면 다시 질문 남겨주시면 도움 드리겠습니다 😊

감사합니다.

ppj2130님의 프로필 이미지
ppj2130

작성한 질문수

질문하기