커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
객체지향 퀴즈 중 질문
undefined주차
북마크
홍*현
댓글
2
추천
0
조회수
12
조회수
12
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


강사님 2가지 질문드립니다!

  • 첫번째(코드 캡처 위에서 1번째와 2번째)

Human class의 생성자를 강사님께서 구현하신 것과 제가 해본 것의 차이점이 궁금하여 질문드립니다!

(강사님의 생성자를 통한 맴버변수 초기화에 대한 내용은 이해가 됐지만, 제가 구현해본 것과의 차이를 모르겠습니다..ㅎ)


우선 제가 아래와 같이 코드를 작성한 이유는 x,y에 대한 필드를 선언만하고 constructor에 쓰지 않는다면

, int의 경우 0으로 초기화 된다는 강사님 강의를 토대로 만든 것입니다.


constructor 를 두개로 만들고 위의 this 변수들을 아래의 생성자에서 this()로 받는 구조가 필요한 상황이 있을것 같아서 질문드립니다.


  • 2번째(코드 캡처 맨 아래 부분)

this.speed와 speed는 해당 부분에서는 동일한 것인지 궁금합니다.(너무 간단해서.. 죄송합니다..)


public class Human {
    String name;
    int age;
    int speed;
    int x, y;


    public Human(String name, int age, int speed, int x, int y) {
        this.name = name;
        this.age = age;
        this.speed = speed;
        this.x = x;
        this.y = y;
    }


    public Human(String name, int age, int speed) {
        this(name, age, speed, 0, 0);
    }

...
}


내가 구현해본 코드

public class Human {
    String name;
    int age;
    int speed;
    int x,y;

// 생성자
    public Human(String name, int age, int speed) {
        this.name = name;
        this.age = age;
        this.speed = speed;
    }

...

}


2번째 질문에대한 코드캡쳐

public class GrandParent extends Human implements Walkable {
    public GrandParent(String name, int age) {
        super(name, age, 1);
    }


    @Override
    public void walk(int x, int y) {
        printWhoAmI();
//=================================
        System.out.println("walk speed: " + speed); // 해당부분!!!!!!!!!!!!!!!
//=================================
        this.x = x;
        this.y = y;
        System.out.println("Walked to " + getLocation());
    }
}




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴