005. 패키지 & 빌드도구

Cornchip·2022년 9월 21일
0

bitcamp

목록 보기
5/11
post-thumbnail

목차
1. 자바의 패키지 구조
2. 프로젝트 준비하기



1. 자바의 패키지 구조

1) 자바 패키지

  • 자바 소스 파일의 역할에 따라 관리하기 쉽게 여러개의 폴더에 분류, 배치하는 것
    = 자바 소스 파일을 역할에 따라 분류한 하위 폴더
    • java/ : 패키지가 아니다
    • io/ : 패키지
    • db/ : 패키지
    • ui/ : 패키지

  • 패키지를 이용해서 클래스 분류하기

    • domain : 사용자 정의 데이터 타입

    • dao : 데이터 퍼시스턴스 역할을 수행하는 클래스

      퍼시스턴스(persistence) : 데이터의 저장과 조화

    • handler : UI처리 '객체'

    • util : Prompt.class : 여러 프로젝트에서 사용할 객체(키보드 입력 처리)


  • 자바 패키지 디렉토리 구조

    회사(또는 조직)도메인명 / 제품명(서비스명) / 역할 /

  • 회사도메인명

    • 전세계에서 유일, 다른회사와 중복될 일이 없다

      ex)

      com/
      com/microsoft/
      com/bitcamp/

      상위조직에서 하위조직 순으로 디렉토리 계층을 구성

  • 자바 패키지를 class안에서 표현할 때는 .으로 구분한다.

    ex)
    package com.eomcs.lang.ex01


2) 자바 패키지와 컴파일, 실행의 관계

  • package x.y.z;class Exam03.java 에 대해서
    • java -cp bin x.y.z.Exam03 : 주로 사용한다.
    • java -cp bin x/y/z/Exam03 : 가능하지만 지양할 것.
    • java -cp bin/x/y/z Exam03 : 불가능하다.

      패키지네임까지 완벽하게 언급해야 한다.

    • (x/y/z폴더에서 끄집어낸 후) java -cp bin Exam03 : 불가능하다.

      패키지에 소속되어 있으면 패키지명까지 이름으로 취급한다.


  • 즉, -d bin은 패키지폴더를 자동 생성해준다.
  • 즉, Exam03.java 파일도 마찬가지로 x/y/z 디렉토리 안에 위치시킬것! 관례
  • 즉, 일반폴더와 패키지가 시작되는 부분이 구분되어있다.
  • 즉, 패키지에 소속될 경우,
    1. 소스파일 첫 명령으로 package를 지정해야 한다.
    2. 소스파일도 관리하기 쉽게 패키지에 해당하는 폴더에 두어야 한다.
  • 즉,
    1. 컴파일하게 되면 패키지에 해당하는 폴더에 .class파일이 놓인다.
    2. 클래스이름을 지정할때 패키지명도 함께 지정해야한다.


2. 프로젝트 준비하기

1) 프로젝트 시작 준비

하나의 프로젝트 안에서 main()메소드가 들어있는 class는 단 하나이다.

  • 프로젝트 빌드와 빌드도구

    • Gradle 빌드 도구를 이용하여 프로젝트 폴더 준비
      • 빌드 : Application 만들기 위해 수행하는 개발과정을 통칭
      • 개발과정 : 컴파일, 테스트, 패키징(.jar, .war 만드는 과정), API문서 생성, 배포(deploy=배치), 프로젝트 폴더 준비

        .jar : java archive = class파일들의 모음
        .war : web archive

  • 빌드할 때마다 직접 명령 실행하면 너무 번거롭다

    빌드 자동화

  • 빌드작업을 기술한 파일 >>로딩>> 빌드도구

    빌드 작업을 순서대로 일괄적으로 수행

  • 빌드작업을 기술한 파일

    빌드 스크립트 파일
    script : 명령문을 작성할 때 사용하는 간단한 프로그래밍 언어


2) 빌드 도구

  1. Ant

    build.xml
    =Ant의 빌드스크립트 파일

  2. Maven

    • Ant빌드도구를 쓰다가 Maven으로 바꿨다. 그 이유는?
      :: 의존 라이브러리 관리 자동화

    • pom.xml
      =Maven의 빌드스크립트 파일

    • 단점 : xml이 태그기반 문법이다.
      = 조건문, 반복문을 사용하기 힘들다.
  3. Gradle : Android studio의 기본 빌드 도구

    • Maven의 단점 때문에 다들 Gradle로 바꾸는 추세
    • 빌드스크립트를 XML 대신 GROOVY (=프로그래밍 언어) 사용
    • 프로그래밍 언어의 문법을 이용하여 빌드작업을 좀 더 정밀하게 제어할 수 있다.
    • build.gradle
      = gradle의 빌드스크립트 파일
  • 즉, 택배상자(package)딱 뜯었을 때 제일 먼저 나오는 '사용설명서' 같은 것.

  • Gradle 설치
    Gradle.org - installing manually - binary-only

    환경변수 편집해서 PATH에 gradle..\bin까지 경로설정

profile
cornchip

0개의 댓글