본문 바로가기
JAVA

public static void main(String[] args)

by 승현0604 2023. 2. 10.

처음 코딩테스트준비를를 하면서 파이썬과는 다르게  다른메서드로 출력을 해야한다는 까다로운 조건이 있었다. 그 과정에서 궁금했던 점이 생겼는데 

public static void main(String[] args) 

이 문구는 Java에서 정말 많이 쓰이는 메인 메서드인데 저 안에들어간 요소(단어)의 하나한에 따라서 참조를 할 수도 있고 반환값을 먹일 수 있다고 한다. 근데 저거를 확실히 알아야만 문제를 풀 수 있을 것 같아서...  하나씩 파헤쳐보겠다 .

 

public

 

 

public : 제한자 부분, 이 함수를 어디에서 접근할 수 있는지에 대한 범위를 정해주는 부분 (public, private, protected)종류가 있다.

main에서는 private나 protected를 사용하게 되면 에러가 발생하게 되는데 main함수는 모든 실행프로그램의 기본이 되어야 하는 함수가 되야하기 때문이라고 한다.

 

private는 해당 클래스에서만 접근이 가능하다 

protected 는 같은 패키지 내에서만 접근이 가능하다고 한다. 

 

public의 접근제한 :

클래스를 선언할 때 public 접근 제한자를 붙였다면 클래스는 public 접근 제한을 가집니다. 클래스가 public 접근 제한을 가지면, 같은 패키지뿐만 아니라 다른 패키지에서도 아무런 제한 없이 사용할 수 있습니다. 클래스를 다른 개발자가 사용할 수 있도록 라이브러리 클래스로 개발한다면 반드시 public 접근 제한을 갖도록 해야 합니다. 인터넷으로 배포되는 라이브러리 클래스도 모두 public 접근 제한을 가지고 있습니다.

 

자바 접근 제한자의 종류와 차이(public, protected, private) : 예제 다운로드 (hanbit.co.kr)

 

이같이 접근제한이 점점 강해지는 건데 순서는 다음그림과 같다

 

static

 

static은 이 함수가 정적인 함수를 의미한다는 것이다 

static으로 함수 또는 클래스를 선언했을 경우에는 해당 객체는 JAVA컴파일이 되는 순간 정의가되는데 

일단 static 객체에서 static이 아닌 객체를 호출하는것은 불가능하다

 

자바가 변수를 메모리에 할당하는방법중에 하나인데 static영억에 선언을 하게되면 메모리에 항상 상주하도록 설정을 하게해주는 역할도 해줌

 

void

말그래도 void 는 리턴되는 값이 없습니다. 단지 해당 함수가 종료된후 호출한 부분으로 이동할뿐입니다.

'JAVA' 카테고리의 다른 글

새로이 알게된 replaceAll문법  (0) 2023.02.19
Java 코테 자릿수 더하기  (0) 2023.02.14
Java 코딩테스트  (0) 2023.02.12
배열 2배 만들기, 중앙값 구하기  (0) 2023.02.11
다시 시작!  (0) 2023.02.10