[Java 웹개발 마스터] 스터디3. 왜 Getter, Setter 를 사용할까

2021. 1. 22. 15:34·OLD/Back End
반응형

보통 지금까지 짧은 경험을 한 바로는 웹 페이지를 만들 때 getter, setter 를 많이 사용하는 것 같았다.

보통 프로젝트(?)의 보안을 위해서 외부에서 객체 데이터들을 외부에서 직접 접근이 불가능게 만들어 놓는다. 즉 막아 놓는다고 생각하면 편할 것 같다.

이럴 때 보통 사용하는 방식이 private 를 통해 외부에서 접근을 막아두고 Getter, Setter 을 통해서 접근하는 것이라고 배운 것 같다. 

이렇게 하는 이유는 객체의 무결성 을 보장하기 위함인데, 무결성에 대한 설명은 아래 okky 링크를 참고하면 될것 같다. 설명이 잘 되어 있다.

okky.kr/article/716403?note=1979724

 

OKKY | 객체의 무결성이 무엇인가요?

Getter와 Setter를 사용하는 이유가 객체의 무결성을 보장하기 위함 이라고 하는데, 객체의 무결성 이라는게 무엇인가요?

okky.kr

그 중 객체 무결성에 대해서 설명이 가장 잘된 부분은 이것 같다

출처 : https://okky.kr/article/716403?note=1979724

 

외부에서 잘못된 값을 의도적으로 줄 경우, 프로젝트 내부의 객체 무결성이 깨지는 일이 일어날 수 있다. 이를 방지하기 위해, 필드를 private로 만들어 외부에서 임의로 프로젝트에 접근하는 것을 제한하거나 막은 후에,

 

Setter를 사용해 전달받은 값을 내부에서 가공해 필드에 넣는 방식을 사용하고

Getter를 사용해 본 필드의 값을 숨긴 채 내부에서 가공된 값을 필드 필드로 가져오는 방식을 사용한다.

 

반응형
저작자표시 비영리 변경금지 (새창열림)

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

[Node.js] Node.js 사용 패키지 정리 1 - dotenv module  (0) 2021.09.09
[Java 웹개발 마스터] 스터디 4. DI (Dependency Injection) 의존성 주입  (0) 2021.01.23
[Java 웹개발 마스터] 스터디2. Lombok 이란  (0) 2021.01.13
[Java 웹개발 마스터] 스터디1. JPA 사용하기  (0) 2021.01.12
[Spring ] Spring 의 주요 구조에 대한 간단한 개념  (0) 2021.01.10
'OLD/Back End' 카테고리의 다른 글
  • [Node.js] Node.js 사용 패키지 정리 1 - dotenv module
  • [Java 웹개발 마스터] 스터디 4. DI (Dependency Injection) 의존성 주입
  • [Java 웹개발 마스터] 스터디2. Lombok 이란
  • [Java 웹개발 마스터] 스터디1. JPA 사용하기
쟈누
쟈누
Ad astra per aspera
    반응형
  • 쟈누
    쟈누의 기록공간
    쟈누
  • 전체
    오늘
    어제
    • 분류 전체보기 (444)
      • AWS (31)
        • Glue (4)
        • S3 (1)
      • 클라우드 (0)
      • Data Engineering (37)
        • GitHub (10)
        • NiFi (11)
        • Spark (10)
        • Snowflake (0)
        • 머신러닝, AI (6)
      • 언어 (118)
        • 데이터 베이스 (42)
        • JAVA (9)
        • Python (34)
        • Java Script (15)
        • Linux (18)
      • 프로젝트, 인강 그리고 책 (30)
        • Spotify Project (7)
        • RASA chatbot Project (9)
        • Naver shopping Project (6)
        • 빅데이터를 지탱하는 기술 (8)
      • OLD (56)
        • IT 용어 사전 (13)
        • Front End (12)
        • Back End (31)
      • Error code 모음 (165)
        • 1. SQL errors (17)
        • 2. Hadoop errors (20)
        • 3. Linux Errors (14)
        • 4. Python errors (33)
        • 5. JAVA, Spring errors (41)
        • 6. Jav Script errors (10)
        • 7. Dev Tools errors (9)
        • 8. Git errors (8)
        • 9. Jenkins Errors (4)
        • 10. airflow Errors (2)
        • 11. Aws errors (7)
      • 개인 (1)
        • 책 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 블로그 관리
    • 글쓰기
  • 링크

  • 공지사항

    • 간단한 블로그 소개
  • 인기 글

  • 태그

    java
    파이썬
    AWS
    Spring
    json
    install
    자바
    linux
    SQL
    Python
    API
    error
    설치
    에러
    NiFi
    MySQL
    python error
    node
    Git
    리눅스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
쟈누
[Java 웹개발 마스터] 스터디3. 왜 Getter, Setter 를 사용할까
상단으로

티스토리툴바