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

(2019-11-27)

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)는 사용 불허

객체지향 프로그래밍
   1. 객체지향   2. 객체지향 프로그래밍   3. 메세지   4. 생성자   5. 접근 제한 수식자   6. 추상 클래스   7. 인터페이스  
자바 기초
   1. 자바 기초 문법   2. 자바 변수,자료형   3. 자바 클래스   4. 자바 메소드   5. 수식자(Modifier)  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"