GDB
348
2018-12-03 08:31:58
2
289

final 변수가 변할수있나요?


안녕하세요.

A라는 클래스에 final string a = gl

B라는 클래스에 final static string a = gg


하나는 final 하나는 static final 으로 동일한 변수

이름을 사용하고 있습니다.


그안에 공통메소드에서 a 값을 받아 처리하는경우 이고

쓰레드로 동시에 막 실행 했을 경우 gl이 값이 gg로 바뀔수 있는 경우가 있나여?

설명이 이해가안되실까요..? ㅠㅠ

0
0
  • 답변 2

  • 엔카나
    525
    2018-12-03 09:08:37
    1. 문자열은 immutable 객체입니다.
    2. final 변수를 초기화한 이후부터 다른 값을 대입할 수 없습니다.

    gg나 gl의 내부값도 변경할 수 없을 뿐더러 (1번에 해당) a 둘 모두 값변경이 불가능합니다.
    0
  • guyv
    1k
    2018-12-03 09:09:06

    여기를 한번 보셔도 좋겠네요.


    https://djkeh.github.io/articles/Why-should-final-member-variables-be-conventionally-static-in-Java-kor/



    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.