인스턴스 멤버: 객체를 생성한 후 사용할 수 있는 필드와 메소드
this: 객체 내부에서 인스턴스 멤버에 접근하기 위한 키워드
정적 멤버: 객체를 생성하지 않고 사용할 수 있는 필드와 메소드(클래스에 소속된 멤버, 클래스 멤버)
static block: 클래스가 메모리로 로딩될 때 자동적으로 실행되는 block
> 인스턴스 필드는 생성자에서 초기화하지만, 정적 필드는 객체 생성 없이도 사용해야 하므로 생성자에서 초기화 작업을 할 수 없다.
> 정적 메서드, 블록 내부에는 인스턴스 필드나 인스턴스 메소드를 사용할 수 없다. 객체 자신의 참조인 this 키워드도 사용 불가. 객체를 먼저 생성하고 참조 변수로 접근해야 한다.
final 필드: 초기값이 저장되면 프로그램 실행 도중에 수정 할 수 없음
상수(static final)
접근 제한자(access modifier)
Annotaion
- 컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공
- 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공
- 런타임 시 특정 기능을 실행하도록 정보를 제공
public @inteface AnnotaionName {
타입 elementName() [default 값];
}
적용 대상: @Target
> java.lang.annotaion.ElementType 열거 상수
유지 정책: @Retention
> java.lang.annotation.RetentionPolicy 열거 상수
Reflection: 런타임 시에 클래스의 메타 정보를 얻는 기능
> java.lang.reflect
리턴 타입 | 메소드명(매개변수) | 설명 |
Field[] | getFields() | 필드 정보를 Field 배열로 리턴 |
Constructor[] | getConstructors() | 생성자 정보를 Constructor 배열로 리턴 |
Method[] | getDeclaredMethods() | 메소드 정보를 Method 배열로 리턴 |
method.invoke(new 객체()) : 해당 객체를 생성하고 생성된 객체의 메소드를 호출
'Java > Java' 카테고리의 다른 글
[이것이자바다]8. 인터페이스 (0) | 2020.04.20 |
---|---|
[이것이자바다]7. 상속 (0) | 2020.04.20 |
[이것이 자바다]5. 참조 타입 (0) | 2020.04.19 |
[이것이 자바다]3. 연산자 (0) | 2020.04.18 |
[이것이 자바다]2. 변수, 타입 (0) | 2020.04.18 |