Access Modifier   접근 제한자, 접근 수정자

(2019-05-23)

Access Control Modifier, 접근 제한 수식자, Modifier, 수식자, 제한자, 한정자

1. [객체지향언어]  수식자/제한자/한정자/변경자 (Modifier)클래스 또는 클래스메소드,프로퍼티 앞에 붙여,
     - 여타 다른 객체에게 대상되는 것을 노출시키는 수준 또는 보호 수준을
     - 결정하는 수식자/제한자/한정자/변경자를 말함

  ㅇ 한편, 이렇게 클래스 또는 객체 단위로 묶어서 변수메소드를 보호하는 것을,
     - 정보은폐(Information Hiding) 또는 캡슐화(Encapsulation) 라고 함


2. [자바언어]  제한자/수식자 (Modifier) 종별

  ㅇ 접근 제한자 : public, protected, private
     - 클래스,메소드,필드 등에 대해 접근 범위(가시성)를 제한 지정
        . public    : 자신을 포함하여 모든 객체에 접근 가능
        . protected : 클래스 멤버 함수 또는 현재 클래스상속받은 클래스에서 접근 가능
           .. 같은 패키지(폴더)에 있는 클래스상속관계의 객체들 만 가능
        . private   : 같은 클래스멤버 함수 또는 멤버 변수 만이 접근 가능
        . default   : 같은 패키지(폴더)에 있는 클래스들 만 접근 가능
  ㅇ abstract 수식자 : 클래스,인터페이스,메소드추상적임을 알림
     - 추상 메소드 : 메소드 선언 만 있고, 본체(내용 정의) 없는 함수 원형과 같은 것
     - 추상 클래스 : 추상 메소드를 갖고 있어, 객체/인스턴스를 직접 생성할 수 없음
     - 추상 인터페이스 : 반드시 추상 메소드를 정의하기 때문에, 굳이 지정 불필요
  ㅇ native 수식자
  ㅇ static 수식자
     - 클래스인스턴스화되지 않아도 접근 가능
  ㅇ final 수식자
     - final 클래스 : 기존 클래스로부터 새로운 서브(확장) 클래스를 만들 수 없음
     - final 메소드 : 서브 클래스에서 메소드 변경이 금지됨 (즉, 오버라이드를 금지하는 것)
     - final 필드   : 그 필드의 값이 변경되는 것을 금지
  ㅇ transient 수식자
     - 객체의 직렬화시에 해당 필드를 직렬화 대상에서 제외
     - 직렬화이란, 인스턴스화된 객체바이트 열로 변환하는 것을 말함
  ㅇ volatile 수식자
  ㅇ synchronized 수식자

  ※ 수식자 사용 대상 (아래 각각을 정의시에 명시하게 됨)
     - 클래스 : public, default, final, abstract
     - 생성자 : public, protected, default, private
     - 멤버 변수 : public, protected, default, private, static, final, transient
     - 멤버 메소드 : public, protected, default, private, static, abstract, final
     - 지역 변수 : 접근제한자(public,protected,private)는 사용 불허


3. [객체지향언어]


[객체지향 프로그래밍] 1. 객체지향 2. 객체지향 프로그래밍 3. 메세지 4. 생성자 5. 접근 제한 수식자 6. 추상 클래스 7. 인터페이스
[객체,클래스,인스턴스] [객체지향 원리/특징] [다형태성] [객체지향 모델링]
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
          2. 프로그래밍 기법
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
            1. 객체지향
            2. 객체지향 프로그래밍
            3. 메세지
            4. 생성자
            5. 접근 제한 수식자
            6. 추상 클래스
            7. 인터페이스
        1.   객체,클래스,인스턴스
        2.   객체지향 원리/특징
        3.   다형태성
        4.   객체지향 모델링
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌