Java에서 Immutable이란?
2017. 11. 8. 01:13
DevLog/JAVA
Immutable이란?Immutable이란 생성후 변경 불가능한 객체를 의미한다. 그래서 Immutable에는 set 메소드가 존재하지 않고, 멤버 변수를 변경할 수 없다. return type이 void인 메소드도 없다. 주로 void 메소드는 뭔가를 하고(하지 않을 수도 있다.) 멤버 변수를 변경하는 역할을 하는 것이기 때문에 쓸 일은 많지 않다. Immutable을 쓰면 멀티 스레드 환경에서 좀 더 신뢰할 수 있는 코드를 만들어 내기가 쉽다. 멀티 스레드 프로그램을 짜봤다면 멀티 스레드 환경에서는 에러보다 비정상적으로 작동하는 경우가 많다. 에러도 아니기 때문에 찾아내기도 어려운 편. 게다가 항상 발생하는 이슈가 아니라 100번에 한번 1000번에 한번 꼴로 문제가 생기는 경우가 많아 정말 머리 아..