Java - public static void의 의미
2021. 6. 19. 18:23ㆍ프로그래밍/개인프로젝트
public : 공공의 / static : 고정된 / void : 빈 공간
단어에서 어느정도 유추할 수 있다
접근제어자
처음에 나오는 public의 자리에는 다른 접근제어자(Access Modifier)도 들어갈 수 있다
접근제어자는 public, protected, default, private 4가지가 있다.
- public - 어디서나 접근이 가능하다.
- protected - 같은 클래스와 같은 패키지 그리고 '다른 패키지지만 상속받고 있다면' 접근이 가능하다.
- default - 같은 클래스와 같은 패키지에서 접근이 가능하다.
- private - 같은 클래스에서'만' 접근이 가능하다.
static
static은 변수나 메서드 앞에 static이라는 키워드를 붙여서 사용한다.
이렇게 만들어진 변수나 메서드를 '클래스멤버'라고 한다.
'클래스멤버'는 메모리의 static영역 에 할당된다.
static영역 은 다음과 같은 특징이 있다.
- static영역의 데이터는 프로그램 시작부터 종료까지 유지된다.
- 따로 객체를 생성하지 않고 클래스 내의 모든 멤버변수에서 자유롭게 사용할 수 있다.
→ 반복사용하는 변수나 메서드를 '클래스멤버'로 선언한다면 한번의 선언으로 여러번 사용할 수 있다.
이를 통해 메모리절약에 이점이 생기고 중복되는 코드를 제거함으로써 가독성도 좋아진다.
하지만 가비지컬렉터의 관리영역 밖에 있기때문에 무분별한 사용시 메모리가 부족할 수 있다.
void
1. 데이터타입이 있는 경우 return 메서드명;으로 종료해준다.
return 메서드명; 이 없으면 구문오류 가 생기며 반환값없이 종료하려면 return 0; 을 써준다.
2. void는 return값이 필요없는 메서드를 선언할때 붙여주는 키워드다.
void를 사용한 메소드에 return;을 사용할 수도 있다.
return;은 메소드를 그위치에서 종료시키는 기능이 있다.
함수 중간에 어떠한 이유로 return하려는 경우에 필요하다.
public static int add_add(int a, int b) {
int sum = a+b;
System.out.println(sum);
return sum; // return 0;
}
add_add(3,5); // 8 출력
//////////////////////////////////////////
public static void add_add(int a, int b) {
int sum = a+b;
System.out.println(sum);
// return;
}
add_add(3,5); // 8 출력
'프로그래밍 > 개인프로젝트' 카테고리의 다른 글
변수의 기본형 데이터 타입 사용시 (효율중시, 성능중시) (0) | 2021.06.22 |
---|---|
(JavaFX) - Event Handler (0) | 2021.06.20 |
heap & stack (0) | 2021.06.15 |
1. 변수란? (0) | 2021.06.11 |
기계어, 저급언어, 고급언어, 컴파일러, 인터프리터 (0) | 2021.05.23 |