본문 바로가기

Study/Java

Java14_수식어

728x90

[수식어1 – 기능제어]

구분 final static abstract
class • 상속 안됨
(슈퍼클래스 불가)
• 사용 불가 • 객체생성 불가
field • 재초기화 불가
• 선언과 동시에 대입하거나 생성자로 초기화만 가능
• 정적 필드(표1. 정적필드사용 참조)
① 클래스의 객체가 생성되더라도 클래스 자체에만 생성됨
② 객체생성 없이 [클래스명.필드 명]으로 사용가능
• 사용 불가
local
variable
• 재초기화 불가
• 선언과 동시에 대입하지 않아도 됨
• 사용 불가 • 사용 불가
method • 오버라이딩 불가 • 정적 메서드
① 클래스의 객체가 생성되더라도 클래스 자체에만 생성됨
② 객체생성 없이 [클래스명.메서드 명]으로 사용가능
• 동일 클래스내부에서는 정적필드와 정적메서드만 사용가능함. 단, 클래스의 객체를 생성할 경우 정적필드, 정적메서드가 아니라도 사용 가능함
• 오버라이딩 할 경우 static 사용
• 추상 메서드
① 메서드 본체가 없음.
② 상속한 클래스에서 추상메서드를 구현해야 함.
③ 인클로징 타입(=인클로징 클래스)도 추상클래스가 되어야 함. 단, 그 반대는 무관함.

 

[표1. 정적필드사용]


참고.

정적 필드는 클래스 자체에 속하기 때문에 객체명 대신 클래스명을 붙여서 사용할 수 있습니다.

System.out.println("총계 = " + Accumulator.grandTotal);

 

[수식어2 – 접근제어] (자원의 사용가능여부)

구분 public protected default private
클래스 내부 모두 사용가능
사용 가능
사용 가능 사용 가능
동일 패키지


서브 클래스

다른 패키지  

 

[표2. private사용 참조]


반응형

'Study > Java' 카테고리의 다른 글

Java16_컬렉션프레임워크  (0) 2022.05.14
Java15_내장클래스  (0) 2022.05.14
Java13_인터페이스&구현  (0) 2022.05.14
Java12_클래스의 상속  (0) 2022.05.14
Java11_커스텀클래스&객체  (0) 2022.05.14