Programming/자바(Java)

7-17 제어자(modifier)

먹보 개발자 2024. 10. 1. 12:01

-클래스와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미 부여

 

접근 제어자 public, protected, (default), private

그 외  static, final, abstract, native, transient, synchronized, volatile, strictfp

 

-하나의 대상에 여러 제어자를 같이 사용가능(접근 제어자는 하나만)

 

static - 클래스의, 공통적인 (멤버변수, 메서드에 붙임)

final - 마지막의, 변경될 수 없는 (클래스, 메서드, 멤버변수, 지역변수)

    클래스 - 변경될 수 없는 클래스, 조상이 될 수 없는 클래스

    메서드 - 변경될 수 없는 메서드, 오버라이딩 할 수 없는 메서드(변경 불가)

    멤버변수 - 값을 변경할 수 없는 멤버변수(상수)

    지역변수 - 값을 변경할 수 없는 지역 변수(상수)

 

abstract - 추상의, 미완성의 (클래스, 메서드)

abstract class AbstactTest { // 추상 클래스(추상 메서드를 포함한 클래스)

    abstract void move();       // 추상 메서드(구현부가 없는 메서드): 몸통이 없는 메서드

} *추상 클래스는 미완성 설계도라 제품을 생성할 수 없다. 추상클래스를 상속받아서 완전한 클래스를 만든 후에 객체 생성 가능. 

 

접근 제어자(access modifier)

private 같은 클래스 내에서만 접근가능

(default) 같은 패키지 내에서만 접근 가능

protected 같은 패키지 내에서, 그리고 다른 패키지의 자손클래스에서 접근이 가능

(** 다른패키지의 자손 클래스라는것은 상위 클래스를 다른패키지에 import로 불러와서 상속받은 하위 클래스를 뜻한다.)

public 접근 제한이 전혀 없다.

제어자 같은 클래스 같은 패키지 자손 클래스 전 체
public O O O O
protected O O O  
(deault) O O    
private O      

 

'Programming > 자바(Java)' 카테고리의 다른 글

7-23 다형성(polymorphism)  (0) 2024.10.01
7-22 캡슐화  (0) 2024.10.01
7-12 패키지 / 7-15 import문  (0) 2024.10.01
7-10 참조변수 super  (0) 2024.09.30
7-7 오버라이딩(overriding)  (0) 2024.09.30