[Java] 함수 파라미터의 final 키워드를 사용하는 이유

2023. 5. 8. 21:30·Back-End/Java

요청 데이터를 담고 있는 객체(requestDto)

 

로그인 요청 dto

인프런 jpa 강의에서 Entity를 dto로 변환하여 리턴하는 방식의 중요성을 배웠다.

이후 Dto를 요청 및 응답에 필요한 데이터만 포함시키도록 request, response로 구분하여 프로젝트를 진행하였다. 

 

여기서 Dto를 관리하는 방식을 찾던 도중,

Dto를 관리하는 클래스에서 변수명에 final을 사용하는 부분을 볼 수 있었다.

 

함수의 파라미터에 final을 사용하는 것은 이전 프로젝트를 하면서도 본적이 있지만 넘어갔던 부분이라

Dto에 대해 알아보는 김에 같이 알아보기로 하였다 !

 

final 키워드란?

final 키워드를 사용하면 해당 변수는 값을 변경할 수 없다. 

따라서 함수 내부에서 실수로 변수의 값을 변경하는 것을 방지할 수 있다.

 

또한, final 변수는 스레드 안전성을 보장하기 때문에 멀티스레드 환경에서 안전하게 사용할 수 있다.

 

장점

  • 함수 파라미터에 final 키워드를 사용하면 함수 내부에서 해당 변수를 변경하는 경우 컴파일러가 에러를 발생시키기 때문에 변수의 값이 실수로 변경되는 것을 방지할 수 있다.
  • 함수 호출 시에도 final 키워드를 사용하면 해당 변수를 다른 객체에 할당하거나 변경하는 것을 방지할 수 있다.

 

이는 객체 지향 프로그래밍에서 코드의 안정성을 높이고 디버깅을 용이하게 하기 위한 방법 중 하나라는 것을 알아보았다.

실무에서 사용될지는 정확히 모르지만, 함수가 다른 곳에서 사용되는 것을 예방해 줄 수 있다고 생각한다.

 

'Back-End > Java' 카테고리의 다른 글

[Java] EnumMap 정리  (0) 2023.11.23
[Java] Java 11 vs Java 17, JDK 17 정리  (0) 2023.10.14
[자료구조] Java 우선순위 큐(Priority Queue)  (0) 2023.02.03
[Java] StringBuffer, StringBuilder  (0) 2022.12.31
'Back-End/Java' 카테고리의 다른 글
  • [Java] EnumMap 정리
  • [Java] Java 11 vs Java 17, JDK 17 정리
  • [자료구조] Java 우선순위 큐(Priority Queue)
  • [Java] StringBuffer, StringBuilder
COBI-98
COBI-98
배운 것을 응용하기 위해 기록하는 것을 선호하며 백엔드를 공부하고 있습니다.
  • COBI-98
    은로그
    COBI-98
  • 전체
    오늘
    어제
    • 은로그 (79)
      • Back-End (32)
        • Java (5)
        • Spring (16)
        • DB (1)
        • 알고리즘 (7)
        • ETC (2)
      • 개발 일기 (0)
      • 회고 (4)
      • Project (10)
        • 협업프로젝트 (7)
        • 국비프로젝트 (2)
      • Web (2)
        • Server (2)
      • Git (2)
      • CS (0)
      • 코딩테스트 (24)
        • 백준 (17)
        • 프로그래머스 (7)
      • 우아한 테크코스 (5)
  • 블로그 메뉴

    • ✨깃허브
    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    우아한형제들
    BFS
    코딩테스트
    2단계
    재귀알고리즘
    인프런
    김영한강의
    inflean
    그리디 알고리즘
    백트래킹
    코테
    배달의민족
    백엔드
    우테코
    큐
    백준
    재귀함수
    백준Java
    김영한님
    레벨2
    깊이 우선 탐색
    Java
    재귀
    배민
    Spring
    우아한테크코스
    N과 M
    elk
    DFS
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
COBI-98
[Java] 함수 파라미터의 final 키워드를 사용하는 이유
상단으로

티스토리툴바