가변과 불변의 차이는 무엇인가요? #3
Unanswered
Chocochip101
asked this question in
Java
Replies: 2 comments
-
가변 = 변할 수 있다. 관점의 차이에 따라 해석하는 방법이 다르지만, java에서 불변은 final을 통해 적용할 수 있다. final 키워드를 변수에 사용하면, 재할당이 불가능하다. 메서드에 붙이면, override가 불가능하다. 클래스에 붙일 경우, 상속이 불가능하다. |
Beta Was this translation helpful? Give feedback.
0 replies
-
immutable은 한 번 생성된 후 상태가 변할 수 없는 상태다. 객체가 생성된 후 변하지 않기 때문에 멀티 스레드 환경에서 항상 동일한 값을 제공하는 안정성을 보장하며 코드를 이해하기가 더 쉽고 재사용이 쉽다는 장점이 있다. mutable은 한 번 생성된 후에도 상태가 변할 수 있는 상태다. 객체가 생성된 후 변할 수 있기 때문에 멀티 스레드 환경에서 동일 값을 보장하려면 동시성을 고려해야 하지만 객체의 상태가 변해야 하는 경우 새 불변 객체를 생성하는 것보다 성능상의 이점을 제공한다. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
.
Beta Was this translation helpful? Give feedback.
All reactions