[JAVA] 자바의 소스코드 기본 구조
자바의 소스코드 기본 구조를 한눈에 알아보자면 다음과 같다.
프로젝트
↳ 패키지
↳ 클래스
↳ 메소드
↳ 소스코드
이 순서로 코드가 구성된다고 볼 수 있다.
프로젝트 안에 패키지가 있고 패키지 안에 클래스가 있고 그 안에 메서드가 있는 형식이다.
package test; //패키지
public class Test { //클래스
public static void main(String[] args){ //메소드
//실행될 소스코드
double score = 1.0 + 2.0 * (3.0 + 4.0) - 5.0;
System.out.println(score);
}
}
코드 예시로 보자면 이런 구조이다.
패키지 (package)
패키지는 간단하게 하나의 폴더(디렉터리)라고 생각하면 된다. 클래스 파일들의 묶음이라고 생각하자.
같은 기능을 하는 클래스들을 같은 패키지에 생성하는 것이 바람직하다.
패키지를 생성할 때, 알파벳 대문자로 시작하려고 하면 안내문구가 뜨는데 이는 패키지는 소문자로 시작하는 것이 관례라서 그렇다.
클래스 (class)
클래스란 자바 같은 객체 지향 언어에서 프로그램을 개발하는 단위이다.
패키지와 반대로 알파벳 대문자로 시작하는 것이 관례이다.
코드 분석 시, 알파벳 대문자로 시작하는 것이 있다면 클래스일 확률이 높다고 생각하자!
* public class 파일명 {}
접근 지정자 public은 파일명과 같은 클래스일 경우에만 입력할 수 있다.
파일 안에 클래스가 아무리 많다 해도 파일명과 다른 클래스에 public을 달면 컴파일 시 오류가 생긴다.
메서드 (method)
메서드는 클래스 안에서 수행되어야 할 작업을 나열한 코드의 모임이다.
보통 어떤 변수 뒤에 ()가 붙어 있다면 메서드로 볼 수 있다.
따라서 클래스를 실행할 때 반드시 필요한 main()도 메서드이다.
* 함수 vs 메서드
자바에서는 메서드와 함수를 혼용하여 부르는 경우가 많은데, 이는 c언어의 영향을 받아서 그렇다.
함수는 독립적으로 존재하여, retrun문을 만나면 사용자가 원하는 결과를 반환한다.
메서드는 클래스 안( 혹은 어떤 영역) 안에 존재해야 한다. 즉, 클래스 안에서 사용할 수 있는 함수라고 볼 수 있다.
자바는 별 상관없으니 참고만 하자.