티스토리 뷰

1. 패키지(package)

1-1. 패키지 개요

1-1-1. 패키지란?

💡서로 관련 있는 클래스 또는 인터페이스 등을 모아 하나의 묶음(그룹)으로 단위를 구성하는 것 
  • 같은 패키지 내에서는 동일한 이름의 클래스를 만들 수 없지만, 패키지가 다르면 동일한 이름을 가진 클래스를 만들 수도 있다.
  • 클래스명은 원래 패키지명을 포함하고 있다.
    예) kr.ac.samhyook.method.Calculator (이게 클래스명)
  • 지금까지 클래스 명에 패키지 명을 함께 사용하지 않은 이유는 동일한 패키지 내에서 사용했기 때문이다. 그렇기 때문에 서로 다른 패키지에 존재하는 클래스를 사용하는 경우에는 클래스명 앞에 패키지명을 명시해서 풀 클래스 이름으로 사용해야 한다.

1-1-2. 패키지의 선언

package 패키지명;
  • 클래스나 인터페이스의 소스파일(.java)의 최상단에 선언되어야 한다.
  • 클래스 명명규칙과 다르게 소문자로만 작성하는 것을 원칙으로 한다.
  • 패키지 명을 지정하지 않으면 자동적으로 이름 없는 패키지에 속하게 된다.

1-2. 패키지 확인

package com.ohgiraffers.section01.method;

public class Calculator {

    // 모듈화(modulation) : 관련있는 것끼리 뭉쳐놓는다.
    public int plusTwoNumbers(int first, int second) {
        return first + second;
    }

    public int subTwoNumbers(int first, int second) {
        return first - second;
    }

    public int multiTwoNumbers(int first, int second) {
        return first * second;
    }

    public int divideTwoNumbers(int first, int second) {
        return first / second;
    }

    public int minNumbersOf(int first, int second) {
        return (first > second) ? second : first;
    }

    public static int maxNumbersOf(int first, int second) {
        return (first > second) ? first : second;
    }
}
package com.ohgiraffers.section02.package_and_import;

public class Application1 {
    public static void main(String[] args) {

        /* 수업목표. 패키지에 대해 이해할 수 있다. */
        /* 설명.
         *  패키지의 의미
         *  1. 클래스의 소속이 다르다.(다른 소속에선 같은 클래스명을 쓸 수 있다.)(feat.Data 자료형)
         *  2. 원래 클래스명의 일부분이다.
         *  3. 경우에 따라 생략이 가능하다.(하지만 자동으로 작성되는 내용이다.)(같은 패키지일 때는 생략가능)
         * */

        /* 설명. non-static 메소드 호출해 보기(feat. 다른 패키지에 있는) */
        com.ohgiraffers.section01.method.Calculator cal
                = new com.ohgiraffers.section01.method.Calculator();

        int plusResult = cal.plusTwoNumbers(100, 20);
        System.out.println("100과 20의 합 = " + plusResult);

        /* 설명. static 메소드 호출해 보기(feat.다른 패키지에 있는) */
        int maxResult =
                com.ohgiraffers.section01.method.Calculator.maxNumbersOf(100, 20);
        System.out.println("두 수 중에 큰 수는 " + maxResult);
    }
}

// 실행 결과
100과 20의 합 = 120
두 수 중에 큰 수는 100

 

2. 임포트(import)

2-1. 임포트 개요

2-1-1. 임포트란?

💡서로 다른 패키지에 존재하는 클래스를 사용하는 경우 패키지명을 포함한 풀 클래스 이름을 사용해야 한다.
but 매번 다른 클래스의 패키지명까지 기술하기에는 번거롭다
그래서 패키지명을 생략하고 사용할 수 있도록 한 구문이 import 구문!!

2-1-2. 임포트 선언

package 패키지명;

import 패키지명.*;
import 패키지명.클래스명;
import static 패키지명.클래스명;

...클래스
  • import 문은 여러 개 명시할 수 있다.
  • import 는 package 선언문과 class 선언문 사이에 작성하며 어떠한 패키지 내에 있는 클래스를 사용할 것인지에 대해 미리 선언하는 효과를 가진다.
  • import 문은 소스파일(.java) 에서 package 문과 클래스 선언문 사이에 명시한다.
  • static import 문은 static 메소드를 호출할 때 사용한다.

2-2. 임포트 확인

package com.ohgiraffers.section01.method;

public class Calculator {

    // 모듈화(modulation) : 관련있는 것끼리 뭉쳐놓는다.
    public int plusTwoNumbers(int first, int second) {
        return first + second;
    }

    public int subTwoNumbers(int first, int second) {
        return first - second;
    }

    public int multiTwoNumbers(int first, int second) {
        return first * second;
    }

    public int divideTwoNumbers(int first, int second) {
        return first / second;
    }

    public int minNumbersOf(int first, int second) {
        return (first > second) ? second : first;
    }

    public static int maxNumbersOf(int first, int second) {
        return (first > second) ? first : second;
    }
}
package com.ohgiraffers.section02.package_and_import;

import com.ohgiraffers.section01.method.Calculator;

public class Application2 {
    public static void main(String[] args) {

        /* 수업목표. import에 대해 이해할 수 있다. */
        /* 설명. 다른 패키지의 클래스명(full 클래스명)을 줄여쓰고자 할 때 쓸 수 있다. */

        /* 설명. non-static 메소드의 경우 */
        Calculator calculator = new Calculator();
        int result = calculator.plusTwoNumbers(80, 22);
        System.out.println("result = " + result);

        int result2 = Calculator.maxNumbersOf(40, 90);
        System.out.println("result2 = " + result2);
    }
}

 

'한화시스템 > 백엔드' 카테고리의 다른 글

[BE] JAVA_조건문  (0) 2024.07.13
[BE] JAVA_API  (0) 2024.07.13
[BE] JAVA_메소드  (0) 2024.07.13
[BE] JAVA_연산자  (0) 2024.07.13
[BE] JAVA_형변환  (0) 2024.07.13
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함