• 티스토리 홈
  • 프로필사진
    Song hyun
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
Song hyun
  • 프로필사진
    Song hyun
    • 분류 전체보기 (780)
      • 백준 (0)
      • 영어 (2)
        • Diary (0)
        • Toast Masters (2)
      • 메모 (13)
      • 설치 메뉴얼 (30)
      • Java (178)
      • MySQL (60)
      • JSP (67)
      • Springboot (46)
      • HTML,CSS, JS (71)
        • HTML (8)
        • CSS (12)
        • JavaScript (37)
        • HTML&CSS 스터디 (13)
      • C++ (7)
      • Linux (7)
      • JPA (34)
      • Kotlin (2)
      • Flutter (42)
      • Error Note (39)
      • 디자인 패턴 (12)
      • 디지털논리회로 (4)
      • 데이터베이스 시스템 (8)
      • 알고리즘 (7)
      • 운영체제 (3)
      • 이산수학 (3)
      • 인공지능 (1)
      • 자료 구조 (14)
        • 기본 개념 (14)
        • 자료구조 스터디 (0)
      • 💡My project (76)
        • 팩맨 : Java Swing 게임 제작 프로젝트 (6)
        • 네이트톡 : Java 소켓 통신 프로젝트 (4)
        • 포켓옥션 : HikariCP&JDBC CRUD 프.. (3)
        • 이지 부산 : BDIA-Devton 2024 프로.. (20)
        • 그린 유니버시티 : JSP를 사용한 학사관리 프로.. (1)
        • 애드 포커 : 웹 소켓과 Spring을 사용한 카.. (1)
        • 셸위 : 게임 친구 매칭 사이트 (21)
        • 다모아 : 개발자 중개 플랫폼 (20)
      • 📗스터디 (13)
        • CNN : 웹개발 스터디 (10)
        • Node&React로 유튜브 사이트 만들기 (3)
      • 📙독서 및 강연 기록 (36)
        • 강연 (14)
        • 독서 (22)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [Java] 24. 접근 제어 지시자와 정보 은닉
        2024년 04월 17일
        • Song hyun
        • 작성자
        • 2024.04.17.:44
        728x90
        반응형

        [Java] 24. 접근 제어 지시자와 정보 은닉


        1. 접근 제어 지시자

        접근 제어(Access Control)은 클래스의 멤버에 접근하는 것을 제어하는 것이다. 일종의 보안장치인 셈이다.

         

        접근 제어 지시자(Access Modifier)는 클래스의 외부에서 클래스 내부의 멤버 변수, 메서드, 생성자를
        사용할 수 있는지 여부를 지칭하는 키워드이다. 접근 제어의 여부를 결정짓는 것이 접근 제어 지시자라고 할 수 있다. 

         

        2. 접근 제어 지시자의 종류
        (1) public: 어디에서든 접근이 가능하다. 접근 제어 지시자 내에서 가장 공개적이다. 
        (2) default: 같은 패키지 내에서 접근이 가능하다. 

        접근 제어 지시자를 작성하지 않으면 default가 할당된다.
        (3) protected: 동일 패키지, 상속 관계 클래스에서만 접근이 가능하다.
        (4) private: 해당 java 안에서만 접근이 가능하다. 접근 제어 지시자 중 가장 폐쇄적이다.

         

         

         

        3. 정보 은닉

         

        여기 Bank 클래스가 있다.

        Bank 클래스는 고객의 계좌, 은행 정보, 계좌 잔액 등의 변수를 지닌 클래스이다.

        만약, 일에 익숙하지 않은 개발자가 실수로 멤버 변수에 접근해서 값을 수정했다고 하자.

         

        출금 값만큼 기존 잔액에서 감하는 deposit() 메서드와 접근 제어자 private를 사용한다면,

        deposit 메서드 내에 방어적 코드를 구현해 중요한 변수에 에러가 생기는 것을 막을 수 있다.

        (ex: if (withdraw<money))

        하지만 변수에 직접 접근하여 값을 초기화한다면, 의도치 않은 실수를 발생시킬 수 있다. 

         

        이처럼 접근 제어자 private을 사용해, 중요한 변수를 외부에서 접근하지 못하게 하는 것을  정보 은닉이라고 한다.

        (=information hiding)

         

        *정보 은닉은 객체 지향 패러다임(OOP)의 특성 중 하나인 '캡슐화'(Encapsulation)과 깊은 연관이 있다.

         

         

        728x90
        반응형

        'Java' 카테고리의 다른 글

        [Java] 26. 참조 변수 this, this의 3가지 용법  (0) 2024.04.18
        [Java] 25. getter/setter 메서드  (0) 2024.04.17
        [Java] 23. 개념 응용하기: 함수와 메서드를 이용한 응용문제  (0) 2024.04.16
        [Java] 22. 객체 지향 패러다임  (0) 2024.04.16
        [Java] 21. 생성자: 기본 생성자와 사용자 정의 생성자  (0) 2024.04.16
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바