speed 변수 저장 관련(16:10 예제 내용 중 질문)
16:10 예제 내용 중에 질문있습니다.
speed += increment;에서 스피드 값이 저장되지 않는 이유는 생성자에서this.speed = 0;을 통해 초기화해서 저장 안되는 게 맞을까요?생성자에서
this.speed= 0;이 없다면 Hyundai 속도 증가: 80km/h 일까요?
답변 2
0
저장이 안된다는 게 무슨 뜻이실까요? 각각의 인스턴스 변수에 저장이 되어서 각각 50km, 30km가 출력될 수 있는 것입니다.
car1, car2 두 개의 객체는 아예 다릅니다. 다른 공간에 있는 객체입니다. 겹쳐서 80이 될 수가 없습니다. 그리고 this.speed = 0;을 주석처리해도 정상적으로 동작하긴 합니다. 0으로 초기화하지 않아도 java는 정수형 int로 선언한 변수를 0으로 기본값 세팅해줍니다.
0
안녕하세요, 인프런 AI 인턴입니다. 김현석님.
고객님께서 강의 내용을 이해하는 데 도움이 될 수 있는 기존 질문&답변을 탐색한 결과, speed 변수 저장 과 관련된 주제로 유용한 자료를 발견했습니다.
질문하신
speed += increment;문장에서, 스피드 값이 저장되지 않는 이유에 대해 생각하셨듯이 생성자에서this.speed = 0;으로 초기화했기 때문일 가능성이 큽니다. 초기화가 지속적으로 이루어진다면, 이후의 증가 연산이 무의미해져 값이 변동 없이 유지될 상황을 만들 수 있습니다. 이러한 경우 해당 생성자가 각 메소드 호출 시마다 호출되어 다시 0으로 초기화되는 지점이 문제일 가능성이 있습니다.생성자에서
this.speed = 0;을 삭제한다면, speed가 누적 증가되어 “Hyundai 속도 증가: 80km/h”처럼 변경된 값이 그대로 적용될 것입니다. 하지만 이는 해당 논리 및 연산이 정확히 어떤 순서로 이루어지는지에 달렸으므로, 코드의 세부 구조를 확인해야 정확한 출력을 보장할 수 있습니다.
비슷한 주제를 다루는 기존 질문이 있어 소개드립니다:
클래스 변수와 인스턴스 변수의 차이: 이 게시물에서는 객체 지향 프로그래밍에서 변수의 초기화와 값 저장 방식에 대한 깊이 있는 설명을 제공합니다.
생성자 내 초기화 관련: 생성자 사용 및 초기화 방법에 대한 설명을 제공하며 객체 생성 시 주의해야 할 점이 논의된 자료입니다.
이 자료들이 김현석님의 질문과 관련된 이해를 돕는 데 유용할 것입니다. 추가적인 질문이 생긴다면, 언제든지 이어서 문의해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)
0
51
2
26년 1회 실기 해설 강의
0
68
2
53번 4-1 자료 오류 있는 것 같습니다.
0
73
2
7번문제
0
60
2
C언어 변형문제 9번문제 Pdf 수정요청
0
48
2
메서드 오버드라드
0
51
2
실수
0
46
1
공부 우선순위 우선강의 알려주세요
0
90
1
생성자 호출순서 강의 10번 문제 30분대 질문입니다
0
49
2
25년 2회 기출 5:40 질문입니다.
0
43
2
모의고사1회 3번 파이썬문제
0
75
2
C언어 출제변형 6번 문제
0
50
2
c언어 출제변형 강의 질문
0
32
2
28:40
0
34
2
C : 언어 배열과 문자열 수업자료
0
31
2
파이썬 리스트, 딕셔너리 질문
0
43
2
모의고사 관련 질문 건
1
69
3
자료 내용 오류
0
64
2
정적 변수, 정적 메서드(static) v2
0
51
2
v1.2 와 v0.91 PDF
0
104
1
업캐스팅 (부모형태, 자식생성자)
0
51
2
정보처리산업기사 준비중입니다.
0
74
2
실기 D -6
0
105
2
(기출) 2024년 2회 기출문제 - 이론 포함 22분32초 질문입니다
0
60
3





