본문 바로가기
코딩 공부 기록/Java

JAVA 소스 코드 구조

by Murphy0v0 2024. 10. 18.

 

자바의 소스 코드 구조를 알아보자!

 

// 패키지 선언
package com.javaTest.test01

// 패키지 가져오기
import java.util.Date;

// 클래스 블록 (Name)
public class Name{

	// 메인 메서드 블록
    public static void main(String[] args) {
    	String test = "s";
    }
    
    // 메서드 블록
    // [ public | private | protected] [static] (리턴자료형|void) 메서드명(자료형 매개변수, ..){}
    public static int getNum(){
    	return 1;
    }

}

 

 


 

1. 패키지 선언

Java에서 **패키지(package)**는 클래스와 인터페이스를 그룹화하여 체계적으로 관리하는 기능을 제공한다.

 

 

[ 형식 ]

package 패키지이름;

 

 

패키지의 장점

 

  • 이름 충돌 방지: 같은 이름을 가진 클래스나 인터페이스가 다른 패키지에 있을 수 있으므로 패키지를 통해 이들을 구분
  • 코드 조직화: 관련된 클래스들을 한 패키지에 모아 코드의 가독성과 유지보수를 용이하게 함
  • 접근 제어: 패키지를 통해 접근 제어를 할 수 있습니다. public, protected, private 등의 키워드를 사용해 패키지 내에서 접근 가능한 범위를 지정할 수 있음

 


 

2. 패키지 불러오기

Java에서 **패키지 불러오기(import)**는 다른 패키지에 정의된 클래스를 사용하기 위해 필요한 기능이다.

 

[ 형식 ]

// import 패키지이름.클래스이름;
import java.util.Scanner;

// 모든 클래스 불러오기
import java.util.*;

 

 

참고로, *을 사용하면 필요하지 않은 클래스까지 모두 불러오므로, 실제로는 필요한 클래스만 명시적으로 불러오는 것이 좋다.

 


 

3. 클래스 블록

Java에서 클래스 블록은 클래스의 정의를 감싸는 중괄호 {} 안에 위치한 모든 코드 영역을 의미한다.

클래스 블록 내부에는 클래스의 속성(필드), 메서드, 생성자, 중첩 클래스 등이 정의된다.

 

[ 형식 ]

class 클래스이름 {
    // 필드 (멤버 변수)
    // 생성자
    // 메서드 (멤버 함수)
    // 중첩 클래스 (선택 사항)
}

 

  • 클래스명은 꼭 소스 파일명과 같아야 한다. ex) A.java => public class A {  }  

 

클래스 구성 요소

  1. 필드(Field): 객체가 가지는 속성 또는 상태. 데이터를 저장.
    • 예: String model;, int speed;
  2. 생성자(Constructor): 객체를 초기화. 클래스 이름과 동일한 이름을 가지며, 객체가 생성될 때 호출됨 
  3. 메서드(Method): 클래스가 수행할 동작이나 기능을 정의. 메서드는 함수와 유사하며, 객체의 행위를 나타낸다.
  4. 중첩 클래스(Nested Class): 클래스 안에 다른 클래스를 정의한다.

 


 

4. 메인 메서드 블록

Java 프로그램에서 **메인 메서드(Main method)**는 프로그램이 시작되는 시작점이다. 모든 Java 애플리케이션은 하나의 main 메서드를 가지고 있어야 하며, 프로그램이 실행될 때 가장 먼저 호출되는 메서드다. 

 

[ 형식 ]

public static void main(String[] args) {
    // 메인 메서드 블록 내부 코드
}

 

메인 메서드 블록의 주요 구성

  1. public: 메인 메서드는 어디서든 호출될 수 있어야 해서 public으로 선언된다. public은 접근 제어자로, 다른 클래스나 패키지에서도 메서드에 접근할 수 있음을 의미한다. 
  2. static: 메인 메서드는 클래스의 인스턴스를 생성하지 않고도 호출될 수 있도록 static으로 선언된다. 프로그램 시작 시 바로 호출되기 때문에 인스턴스 없이 동작해야 한다.
  3. void: 메인 메서드는 반환 값을 가지지 않기 때문에 반환형을 void로 선언한다.
  4. main: 이 메서드의 이름은 main으로 고정되어 있다. 자바 가상 머신(JVM)은 프로그램을 실행할 때 반드시 main이라는 이름을 가진 메서드를 찾아서 호출한다.
  5. String[] args: args는 명령줄에서 입력되는 인자를 받기 위한 배열. 사용자가 프로그램 실행 시 입력한 값을 배열 형태로 받아서 사용할 수 있다.