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)  

  1. Top (분류 펼침) New     :     1,592개 분류    6,516건 해설

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"