불변성(Immutability)이란?
불변성이란 값이 변경되지 않는 것을 의미합니다. 함수형 프로그래밍의 핵심 개념 중 하나로, 상태를 변경하는 대신 새로운 값을 반환하는 방식으로 프로그래밍을 합니다.
이러한 방식으로 프로그래밍을 하면, 코드를 이해하기 쉬워지고 버그를 발생시키는 것을 예방할 수 있습니다. 값이 변경되지 않기 때문에, 다른 부분에서 예상치 못한 결과를 가져오는 위험이 줄어듭니다.
함수형 프로그래밍에서는 불변성을 유지하기 위해, 변수 대신에 상수(const)를 사용하고, 객체의 상태를 변경하는 대신에 새로운 객체를 반환하는 방식으로 프로그래밍합니다. 이러한 방식으로 프로그래밍을 하면, 코드의 안정성과 예측 가능성이 높아지며, 코드의 유지 보수성도 높아집니다.
불변성의 장점
•
코드를 이해하기 쉬워집니다.
•
버그를 예방할 수 있습니다.
•
예측 가능한 코드를 작성할 수 있습니다.
•
코드의 안정성이 높아집니다.
•
코드의 유지 보수성이 높아집니다.
불변성의 단점
•
불변성을 유지하기 위해 코드를 작성하는 것이 조금 더 복잡해질 수 있습니다.
•
객체를 새로 생성하는 방식으로 코드를 작성하면, 메모리 사용량이 더 많아질 수 있습니다.
불변성은 함수형 프로그래밍에서 매우 중요한 개념 중 하나입니다. 이러한 철학을 따르는 프로그래밍을 하면, 코드의 안정성과 예측 가능성이 높아지며, 유지 보수성도 높아집니다.