자바의 워크스페이스, 프로젝트, 패키지, 클래스, method, import, module

hams·2023년 12월 13일
1

자바

목록 보기
3/11
post-thumbnail

자바의 구조

1. 워크스페이스 (work space)

하나의 프로그램 단위

  • 규모가 큰(기능이 많은) 프로그램은 여러 실행파일(프로젝트)로 이루어질 수 있음
  • 가장 상위 폴더로 생성됨

2. 프로젝트 (Project)

하나의 실행파일 단위

  • 하나의 실행 파일을 생성하기 위한 단위라고 할 수 있음
  • 워크스페이스의 하위 폴더로 생성됨

3. 패키지(package)

자바 파일을 구분하기 위한 폴더로 이해하기

  • 처음에 package variable; 선언이 필요하다 -> 소속확인
  • 단순히 파일 시스템의 폴더 기능만 하는 것이 아니라 클래스의 일부분
  • 클래스 이름이 동일해도 패키지가 다르면 다른 클래스로 인식한다.
  • 패키지 내부에 패키지를 둘 수도 있다.
  • 패키지와 클래스는 도트(.)를 사용해서 표시

package 사용 예시

package com.example.myproject;
//상위패키지.하위패키지.클래스

4. 클래스 (class)

실제로 작성된 가장 하위의 소스코드 파일

  • 클래스는 객체 지향 프로그래밍에서 객체를 생성하기 위한 설계도 또는 템플릿
  • 자바에서 대부분의 코드는 클래스 내에 작성되며, 클래스는 필드(변수)와 메서드(함수)로 구성됩니다.
  • 클래스는 객체를 생성하여 사용하는데, 객체는 클래스의 인스턴스입니다.
  • 비슷한 유형의 메소드(함수)와 변수를 모아놓은 소스코드
  • 클래스가 속한 마지막 패키지의 폴더에 저장됨
  • 클래스의 파일명은 클래스의 이름과 동일해야 함

class 사용 예시

public class MyClass {
    // 필드(변수)와 메서드(함수) 정의
}

5. 메소드 (Method)

클래스에 정의 되어 있는 함수

  • 하나의 클래스에서 다른 클래스의 함수를 실행할 때 실제로 이 메소드를 실행하는 것
  • 패키지A.패키지B.클래스C.메소드(arguments)의 형태로 불러와서 실행함

메소드 예시

public class Calculator {
    public int add(int num1, int num2) {
        return num1 + num2;
    }
}

-> add라는 메소드는 다른 패키지에서 불러올 수 있다

package com.example.otherpackage;

// 다른 패키지에서 Calculator 클래스를 임포트
import com.example.math.Calculator;

public class AnotherClass {
    public static void main(String[] args) {
        // Calculator 클래스의 객체 생성
        Calculator calculator = new Calculator();
        
        // add 메소드 호출
        int result = calculator.add(5, 3);
        
        // 결과 출력
        System.out.println("Addition result: " + result);
    }
}

6. Module (모듈):

모듈은 Java 9부터 도입된 개념인데, 패키지보다 더 큰 단위의 코드 조직

  • 모듈은 관련된 패키지와 리소스를 그룹화하고, 다른 모듈과의 의존성을 명시적으로 정의한다.
  • 모듈을 사용하면 코드를 더 모듈화하고, 의존성을 관리하며, 시스템을 더 간결하게 유지할 수 있습니다.

모듈 사용 예시

module com.example.mymodule {
    // 모듈 정의
}

7. Import (임포트)

임포트는 다른 패키지나 클래스의 사용을 선언하는 것이다.

  • 클래스에서 다른 패키지의 클래스나 모듈의 클래스를 사용하려면, 해당 클래스를 임포트해야 한다.
  • 임포트 문은 코드의 가장 상단에 위치하며, 필요한 패키지나 클래스를 명시한다.

import 사용 예시

import com.example.otherpackage.OtherClass;

0개의 댓글