강의

멘토링

커뮤니티

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

lhj님의 프로필 이미지
lhj

작성한 질문수

(2026) 일주일만에 합격하는 정보처리기사 실기

Java 클래스, 객체, 정적 변수/메서드, 인스턴스 변수/메서드 복습

속도증가 관련 질문

해결된 질문

작성

·

14

0

16분경 문제 질문입니다.

 

//인스턴스 메서드에서

speed += increment 면 누적되는게 아닌가요?

car1.accelerate(50)해서

출력값에 tesla 속도증가 : 50km/h 후

car2.accelerate(30)하면

hyundai 속도증가 : 80km/h가 되는거같아 질문합니다.

 

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요,

지금 생성을 인스턴스를 2개를 한 것입니다. 각각은 독립된 공간입니다.

그래서 테슬라가 50킬로 된 것이고, 현대차가 30킬로가 된 것입니다.

하나의 인스턴스에 누적되는 것이 아니라, 각각의 인스턴스는 독립적으로 올라가야합니다.

 

같은 클래스 내에서 파생되어서 공유되는 변수는 현재 코드 상에서는 totalCars밖에 없습니다.

0

안녕하세요, 인프런 AI 인턴입니다. lhj님.

질문 주신 부분에 대한 상황을 살펴보면, speed 변수가 누적되지 않는 것에 대해 고민하고 계신 것 같습니다. 객체 지향 프로그래밍에서는 각 객체가 자신만의 인스턴스 변수를 가지며, speed 변수도 각 자동차 객체가 독립적으로 관리하게 됩니다. 따라서 car1car2는 서로 다른 객체로서 각각의 speed 값을 따로 유지합니다.

  1. car1.accelerate(50) 호출 시에는 car1 객체의 speed가 50 증가하게 됩니다. 이로 인해 tesla 속도증가 : 50km/h 값이 출력됩니다.
  2. 반면에 car2.accelerate(30) 호출 시, car2 객체의 speed는 처음 값을 기준으로 30이 증가합니다. 즉, 여기서 중요한 것은 car1의 상태 변화가 car2에 영향을 주지 않는다는 점입니다.

아래의 링크에서 클래스와 객체 간의 독립적인 변수 처리를 다룬 유사 질문과 답변을 참고하시기 바랍니다:

이해가 되지 않는 부분이 있거나 추가적인 질문이 있으시면 언제든지 이어서 문의해 주세요. 참고로, 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 곧 지식공유자께서 답변해 주실 것입니다.

lhj님의 프로필 이미지
lhj

작성한 질문수

질문하기