Long에서 더하기

해당 코드에서 Long은 final변수로 알고 있는데 for문 안에서 더하기가 어떻게 가능한가요?
답변 2
2
안녕하세요. 썩은도토리님, 공식 서포터즈 y2gcoder입니다.
강의자료를 봤을 때도 final 키워드가 붙어있지 않습니다!

혹시 어째서 그렇게 생각하셨는지 여쭤봐도 되겠습니까!? 
감사합니다.
3
이해했습니다!
Long 타입 객체는 불변 객체가 맞습니다. Wrapper 클래스들은 연산할 때
오토 언박싱
연산 수행
새로운 객체 생성 및 오토 박싱
변수에 새로운 객체를 할당
하는 방식으로 진행됩니다.
Long sumWrapper = 0L;
startTime = System.currentTimeMillis();
for (int i = 0; i < iterations; i++) {
// 오토 언박싱: sumWrapper.longValue()
long temp = sumWrapper + i; // sumWrapper.longValue() + i
// 오토 박싱: Long.valueOf(temp)
sumWrapper = temp; // 새로운 Long 객체 생성 및 할당
}
endTime = System.currentTimeMillis();
System.out.println("sumWrapper = " + sumWrapper);
대략적으로 이러한 방식으로 진행된다고 이해해주시면 감사하겠습니다.
더불어서 3. String 클래스 > String 클래스 - 불변 객체 도 복습해보시면 더 이해가 쉬우실 것 같습니다!
그래서
1
불변 객체의 값 변경 하는 방법을 생각해 보시면 됩니다.
pdf2 페이지에 있는 "불변 객체-값 변경" 에서 ImmutableObj예제를 보시면, int형이 final인데도 값을 바꿀 수 있는 방법을 보실수 있습니다.
이것처럼 ImmutableObj 의 예제를 int를 long으로 바꾸셔서 코드를 쳐보시고, 생각해 보시면 어느 정도 이해가 가능할 것 같네요 .
1
예 그럴겁니다. 그런데 가비지 컬렉터로 인하여.. 알아서 제거된다 라고 이야기 했을거고, 그런것들 때문에 속도가 좀 차이가 난다라고 했습니다.(래퍼 클래스와 성능-이라는 강의를 보시면 아실거에요.)
문제와 풀이
0
25
1
섹션 2 퀴즈 9번
0
34
2
강의노트 내용이 이해가 되지 않아서 문의드립니다.
0
48
1
중급1편, 래퍼클래스 문제와풀이2 로또제너레이터 질문
0
68
1
setVlaue질문
0
95
3
안녕하세요 코딩테스트와 병행하고 싶어서 질문드립니다.
0
95
1
findValue의 파라메터까지 래퍼클래스 배열인 이유가 있을까요?
0
76
1
아래 글처럼 toString() 강의부터 화면이 안보여요
0
99
2
TemporalAdjusters의 lastDayOfNextMonth(), lastDayOfNextYear() 메서드 지원 안함
0
84
2
오타 제보도 되나요?
0
90
2
지역 클래스 예제3 지역변수 질문
0
69
2
래퍼클래스 박싱 출력
0
60
1
자바 equals() 메소드에 대한 물리적 동일성, 논리적 동등성 질문
0
107
3
강의록 오타 제보
0
69
2
자바의 기본 클래스들에 관하여
0
71
1
실무에서 중첩(내부) 클래스 사용하나요?
0
80
1
지역 클래스 - 지역 변수 캡처3
0
55
1
12:30 의 newClassGrade 질문이 있습니다.
0
57
1
날짜와 시간 문제풀이가 막히는데
0
100
2
내부 클래스의 바깥 클래스 참조
0
68
1
스트링 풀, new String()
0
105
3
정적 중첩 클래스 사용 이유
0
97
1
status.getCode() 대신 status.code 사용
1
81
1
메서드의 지역변수명과 내부클래스의 멤버메서드에서의 지역변수명의 중복관련
0
75
1





