영상후기 - final & immutable

shin·2023년 4월 18일
0

영상후기

목록 보기
16/20

moive
[10분 테코톡] 🔪시카의 Java final과 불변 객체 - 우아한테크

  • final: can only be assined once. 한 번만 할당이 가능
    - final 적용 효과: 버그 발생 가능성이 줄어듦. 버그를 찾는 시점이 빨리짐. 코드의 품질이 높아져 빠르게 대응할 수 있음.
  • immutable: cannot be modified after it is created. 한 번 생성된 후에 수정이 불가능 -> 신뢰 가능
    - 장점: 스레드 동기화 문제를 예방할 수 있다. -> 생성된 객체 데이터를 수정하는 방법이 아닌 필요할 때마다 새로운 인스턴스를 생성하는 방향으로 변경
    - 불변 객체를 사용해야 하는 이유
    => "불변 객체를 사용해라 성능상의 단점은 미미하다. 현대 컴퓨터의 성능을 무시하지 마라"- 제이슨
    => "불변 객체는 간단하고 신뢰성 있는 코드를 만들기 위한 전략이다."- 오라클 자바 튜토리얼
    => 불변 객체는 가변 객체보다 설계하고 구현하고 사용하기 쉬우며, 오류가 생길 여지도 적고 훨씬 안 전하다."- 이펙티브 자바

  • 영상 외 찾아본 내용
    => final은 변수 또는 참조의 불변성을 나타내고 immutable은 객체의 불변성을 나타낸다.
    => final 선언된 객체의 경우, 객체의 contents가 아닌, 객체의 reference에 대한 불변성을 의미하기 때문에, 객체의 내용 자체는 수정이 가능하다.
    e.g.
    final List<Integer> list = new ArrayList<>();
     list.add(1); // 객체의 컨텐츠 수정 가능
     list = new ArrayList<>(); // 객체의 재할당 불가능
    => 반면 immutable 객체 자체의 불변성을 의미하기 때문에 어떤 식으로도 객체의 내용을 수정할 수 없다.
profile
안녕하세요.

0개의 댓글

관련 채용 정보