불변 클래스(immutable class) vs 가변 클래스(mutable class)

CODEDRAGON Development/Java

반응형

 

 

불변 클래스(immutable class) 가변 클래스(mutable class)

·         문자열 가공에서는 가변클래스인 StringBuffer클래스를 사용합니다.

·         불변 클래스를 사용하는 경우는 멀티 스레드 환경에서 객체가 변화되는 상황이라면 불변 인스턴스를 사용하는 것이 신뢰할 있는 코드를 작성할 있습니다.

·         , 하나의 객체에 접근하면서 각각의 객체가 서로 영향을 주어서는 되는 경우에 불변 인스턴스를 사용하면 값이 변하지 않는다는 점이 보장되게 됩니다.

 

 

 

JAVA - example

immutable class

mutable class

불변 클래스

가변 클래스

String 클래스

String 클래스와 같이 인스턴스가 생성되면 값을 변경할 없는 클래스를 불변 클래스

StringBuffer 클래스

StringBuffer 클래스와 같이 자유롭게 인스턴스의 값을 변경할 있는 클래스

append() insert() 메소드와 같은 값을 변경하는 메소드 없음

append() insert() 메소드와 같이 값을 변경하는 set() 메소드 존재