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

k_jje님의 프로필 이미지
k_jje

작성한 질문수

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

7. 자바 메모리 구조와 static 문제 1: 구매한 자동차 수 질문

작성

·

136

0

문제 1번 답

public class Car {
    private static int count;
    private String car;


    public Car(String car) {
        System.out.println("차량 구입, 이름: " + car);
        this.car = car;
        count++;
    }
    public static void showTotalCars() {
        System.out.println("구매한 차량 수: " + count);
    }
}

나의 풀이

public class Car {
    private static int count;

    public Car(String car) {
        System.out.println("차량 구입, 이름: " + car);
        count++;
    }
    public static void showTotalCars() {
        System.out.println("구매한 차량 수: " + count);
    }
}

 

답과 제 풀이를 비교해보면,

멤버변수로 String car를 지정하고, Car 생성자에서 this 키워드로 car를 받는데,

이 부분을 생략하여도 결과가 같게 나옵니다.

어떤 차이가 있을까요?

 

 

 

답변 1

1

안녕하세요. k_jje님, 공식 서포터즈 y2gcoder입니다.

요구사항을 구현하는 거라면 k_jje 님의 답도 정답이라고 생각합니다!

아마도 Car라는 객체를 만들 때 지금은 사용하지 않지만 보통 이름을 전달해주면 Car 객체의 속성으로 보관해두는 게 일반적이기 때문에 풀이에서는 name 필드를 추가하여 값을 받아 객체의 속성으로 저장했다고 이해해주시면 감사하겠습니다!

감사합니다.

k_jje님의 프로필 이미지
k_jje
질문자

답변 감사합니다!

k_jje님의 프로필 이미지
k_jje

작성한 질문수

질문하기