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

자바공부하는러버덕님의 프로필 이미지
자바공부하는러버덕

작성한 질문수

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

문제와 풀이

static2.ex 문제1번 질문

작성

·

52

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

스크린샷 2024-10-29 214008.png.webp

 

스크린샷 2024-10-29 214029.png.webp

 

스크린샷 2024-10-29 214048.png.webp


첫번째 사진과 정답 코드를 비교했을때
============[정답코드] ============

public Car(String name) { System.out.println("차량 구입, 이름: " + name); this.name = name; totalCars++; }

===============================

 

this.name = name;

없이도 코드가 실행이 잘되는 이유를 알고 싶습니다.

 

답변 1

1

car() 라는 생성자 에서, name값을 그대로 쓰고 있기 때문입니다.

pulbic car(String name) {

.... System.out.println("차량 구입, 이름: " + name );

.... totalcars++;

}

파랑색 글씨를 보시면 파라미터값은 메서드안에서만 동작하고, car() 메서드 내에 있는sout에서 name을 쓰기 때문에 '차량 구입, 이름 : 내용'이 나오는 것입니다.
showTotal() 이라는 메서드에

name을 추가해서 비교해 보시면 알 수 있을거에요.

추가1.

static이라서, name을 추가할수 없네요.. get 메서드 만들어서 name을 추가해보시면 됩니다.

자바공부하는러버덕님의 프로필 이미지
자바공부하는러버덕

작성한 질문수

질문하기