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

김병곤님의 프로필 이미지

작성한 질문수

김영한의 실전 자바 - 기본편

다형성 - 역할과 구현 예제3

멤버변수질문

해결된 질문

작성

·

249

1

 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기서 DRiver는 멤버변수로 Car car를 가진다 라고 하는 문장이 잘 이해가 안갑니다.

private CAR car; 라고 선언하면 그렇게 되는건가요?

이부분에 대한 조금 지식이 부족한데 어느 파트에서 다시 이 내용을 들을수있나요?

답변 2

3

안녕하세요. 김병곤님, 공식 서포터즈 OMG입니다.

다음과 같은 사람(Person)클래스는 name과 age의 멤버변수를 갖는다의 개념은 이해가 되실까요?

public class Person {
    int name;
    int age;
}

이해가 된다면, 개념을 확장하여 사람은 휴대폰을 가진다 라고 확장하면

문자열 타입의 phone 변수를 추가할 수도 있겠지만,

public class Person {
    int name;
    int age;
    String phone; // 010-1234-5678
}

Phone이라는 클래스를 생성하여

class Phone {
    String phoneNumber;    // 010-1234-5678
    String brandName; // 삼성, LG..
    double screenSize; // 6.1 (인치)
    // 등등..
    void changeBell() { // .}
}

Phone이라는 객체를 변수로 갖게 할 수 있습니다. (소지하고 있는 휴대폰의 많은 정보와 기능들을 담을 수 있죠?)

public class Person {
    int name;
    int age;
    Phone phone; // 010-1234-5678
}

여기까지가 클래스에 멤버변수를 갖을 때의 장점을 알 수 있고,

질문에서는 private과 연관지어 질문을 남겨주셨는데, 이 부분은 접근 제어자와 관련된 내용입니다.

-

제 생각에는 질문과 아래 임다정님의 댓글에서 남기신 내용으로 보았을 때,

자바 입문편까지는 괜찬을 것 같고

자바 기본편 섹션1. 클래스와 데이터부터 강의에서 영한님이 설명해주시는 개념설명을 깊이있게 학습하셔야 할 것 같아요.

감사합니다.

김병곤님의 프로필 이미지
김병곤
질문자

아 정말 감사합니다 이해하는데 큰 도움되었어요! 진심으로 감사합니다!

0

Car인터페이스의 맴버변수를 가진다는 말입니다.상속부터 다시 복습하셔야할거같네요 아직 개념이 잘 안잡혀계신거같아오

김병곤님의 프로필 이미지
김병곤
질문자

상속부터 공부해봐야겠네요 .ㅠㅠ.. 저부분만 좀 헷갈려용 답답하네요

private CAR car;라고 선언하면 CAR테이블의 멤버변수를 가질수있는건가요? ㅠ

김병곤님의 프로필 이미지
김병곤
질문자

멤버변수를 가진다는 말이 car 클래스의 메서드랑 객체를 사용할수있다라는 소리 아닌가요?