public static void main(String[] args) 코드 분석
public : 접근제어자이며 public은 참조에 제한이 없다
다른 접근 제어자로는 private, (default/아무것도 안 붙을때), protected가 있다
static : 메서드 앞에 static이 붙어있으면 클래스 메서드임을 의미한다
클래스 메서드는 객체를 생성하지 않고도 호출이 가능하다
-> 인스턴스(객체)와 관계없는 메서드를 클래스 메서드로 정의한다
void : 반환값이 없는 경우 사용한다 //main 메서드는 반환값이 없다
반환값이 있는 경우 반환값의 타입을 적는다(int, String 등)
main : 실행될 메인 메서드를 의미한다
String[] : String형의 배열을 의미한다
args : 배열의 이름을 의미한다
static (클래스 메서드)
메서드 중에서 인스턴스 변수나 인스턴스 메서드를 사용하지 않는 메서드를 클래스 메서드로 정의한다
특징
- 클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통으로 사용하는 것에 static을 붙인다
- 클래스 변수(static 변수)는 인스턴스를 생성하지 않아도 사용할 수 있다.
- 클래스 메서드(static 메서드)는 인스턴스 변수를 사용할 수 없다
- 메서드 내에서 인스턴스 변수를 사용하지 않는다면, static을 붙이는 것을 고려한다
-> 클래스의 멤버변수 중 모든 인스턴스에 공통된 값을 유지해야하는 것이 있는지 살펴보고 있으면, static을 붙여준다
작성한 메서드 중에서 인스턴스 변수나 인스턴스 메서드를 사용하지 않는 메서드에 static을 붙일 것을 고려한다
-> main메서드에 static이 붙는 이유는 특징 2번의 이유 때문인데,
static이 붙은 변수(클래스 변수)는 클래스가 메모리에 올라갈 때 이미 자동적으로 생성되어있기 때문에
실행시 1순위로 실행된다
'백엔드' 카테고리의 다른 글
TIL 정리_53(TDD) (0) | 2022.04.09 |
---|---|
TIL 정리_52(OOP) (0) | 2022.04.08 |