인스턴스의 내부 값을 수정할 수 없는 클래스
만들어지는 순간부터 객체가 파괴되는 순간까지 값이 달라지지 않는다.
가변 클래스에 비해 설계/구현/사용이 쉬워, 오류가 생길 여지가 적고 안전하다.
ex) String, BoxingClass(Integer, Double…), BigInteger, BigDecimal
객체의 상태를 변경하는 메서드를 제공하지 않는다.
클래스를 확장할 수 없도록 한다.
하위 클래스에서 객체의 상태를 변경할 수 없도록 방지한다.