Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 여러인수
- @ModelAttribute
- Spring
- springboot
- 전치행렬 #C
- mycp
- @Spring
- 숫자야구
- junit
- 10951
- 쉬운 계단 수
- 백준
- @NotEmpty
- setParameter
- NamedParameterNotBound
- Linux
- 디자인패턴
- 10844
- createQuery
- 자바
- 점세개
- java
- C
- gradle
- 자료구조
- pscp
- BubbleSorting
- designpattern
- 데코레이터패턴
- decorator
Archives
- Today
- Total
...
[JAVA] Static이란? 본문
Static = '고정된'
Static 키워드를 통해 생성된 정적 변수/ 함수들은 Heap 공간이 아닌 static이라는 공간의 별도 분리된다.
Heap 공간에 있는 멤버 변수들은 객체들이 메모리를 공유하지 않으며, Garbage Collector의 관리 영역 안에 존재한다.
하지만 이와 반대로 Static 공간에 있는 정적 멤버 변수들은 객체들이 메모리를 공유하며, Garbage Collector의 관리 영역 밖에 존재하기 때문에 프로그램 종료 시까지 메모리가 할당된 채로 존재한다.
[ static 정적 함수 사용 예시 ]
class Name{
static void print() { //클래스 메소드
System.out.println("내 이름은 홍길동입니다.");
}
void print2() { //인스턴스 메소드
System.out.println("내 이름은 이순신입니다.");
}
}
public class Static_ex {
public static void main(String[] args) {
Name.print(); //인스턴스를 생성하지 않아도 호출이 가능
Name name = new Name(); //인스턴스 생성
name.print2(); //인스턴스를 생성하여야만 호출이 가능
}
}
정적 메소드는 클래스가 메모리에 올라갈 때 정적 메소드가 자동으로 생성된다.
따라서 객체를 새로 생성하지 않아도 호출할 수 있다.
'언어 > JAVA 자바' 카테고리의 다른 글
[JAVA]객체지향 개념을 고려한 숫자야구 게임의 구현 (0) | 2022.06.08 |
---|---|
JAVA 파라미터에 오는 점 세개 문법 ! (0) | 2022.04.16 |
JAVA 접근 제한자 정리 (0) | 2022.04.14 |
[JAVA] Final 이란? (0) | 2022.03.03 |
[JAVA] Scanner의 next() / nextLine() 차이점 (0) | 2022.02.18 |
Comments