반응형
static
: class의, 공통적인
class StaticTest {
static int width = 200; // class 변수(static 변수)
static { // class 초기화 block
// static변수의 복잡한 초기화 수행
}
static int max(int a, int b) { // class method(static method)
return a > b ? a : b;
}
}
- CV
Class Vairable- 모든 instance에 공통적으로 사용되는 class변수가 된다.
- class 변수는 instance를 생성하지 않고도 사용 가능하다.
- memory에 load될 때(프로그램이 처음 돌아갈 때) 생성되기 때문에.
(그래서 클래스 변수Class variable이라고 한다.)
- Method
- instance를 생성하지 않고도 호출이 가능한 static method가 된다.
- static method 내에서 instance member들을 직접 사용할 수 없다.
memory 참조
2023.01.08 - [☕ 자바 JAVA/☕ 개발환경] - [JAVA]단순히 정리한 JVM구조와 Memory(+ static)
final
: 마지막의, 변경될 수 없는
final class FinalTest { // 조상이 될 수 없는 class
final int MAX_SIZE = 10; // 값을 변경할 수 없는 member변수(상수)
final void getMaxSize() { // overriding할 수 없는 method(변경불가)
final int LV = MAX_SIZE;// 값을 변경할 수 업슨 local변수(상수)
}
}
- Class
- 변경될 수 없는 class, 확장될 수 없는 class가 된다.
- 그래서 final로 지정된 class는 다른 class의 조상이 될 수 없다.
- 대표적으로 String과 Math class가 있다.
(Math class는 모두 static으로 되어있음)
- Method
- 변경될 수 없는 method, final로 지정된 method는 overriding을 통해 재정의 될 수 없다.
- 상수
- 변수 앞에 final이 붙으면, 값을 변경할 수 없는 상수가 된다.
abstract
: 추상의, 미완성의
abstract class AbstractTest { // 추상 class(추상 method를 포함)
abstract void move(); // 추상 method(구현부{ }가 없음)
}
- Class
- class 내에 abstract method가 선언되어 있음.
- 추상 class의 instance 생성불가.
ex) AbstractTest a = new AbstractTest(); -> error
- Method
- 선언부만 작성하고 구현부는 작성하지 않은 추상 메서드.
반응형
'☕ JAVA > ☕ Class & Method' 카테고리의 다른 글
[JAVA]다형성 polymorphism (1) | 2024.04.04 |
---|---|
[JAVA]접근 제어자/제한자 access modifier (0) | 2024.04.02 |
[JAVA]import와 import static (0) | 2024.03.31 |
[JAVA]package & class path. cmd로 java file실행과 환경변수 설정. (0) | 2024.03.30 |
[JAVA]참조변수 super & 조상 생성자 super() (0) | 2024.03.27 |