ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] Project 생성 및 구조
    Language/Java 2023. 2. 1. 17:08

    (ˇ∀ˇ)

    새로운 마음으로 공부하고자 마음 먹은 1일차

    오늘은 이클립스 Java Project 구성, Java Directory 구조에 대해서 공부를 해보려고!!

     

    이클립스에서 자바를 프로젝트를 사용할 ,

    매번 만들어져있는 프로젝트를 이용하거나

    아무 생각 없이 이용을 했던 같아.

    나만 그랬나..?;;

     

    가끔 프로젝트 환경설정이나 구조에 관련된 에러들을 맞닥뜨려서 헤매거나

    폴더는 어떤 역할을 하는지 궁금할 때가 있었는데 이번 기회에 정리를 해보려고 .

     

    시작하기에 앞서서 .. 코테 공부해서 돌려볼 자바 프로젝트를 하나 만들어보려고

    (나중에 Git 정리해봐야겠어..!)

     

     

    Eclipse Project  생성

    Eclipse Project 생성
    Eclipse Project 생성

    JDK 버전 확인하고, Working sets 확인하고

    일단 생성을 하긴 했는데, 이거야 .. 클릭 톡톡하면 되는거잖아??

     

    내가 궁금했던 .. 어떤 구조인지 머리에 그려지지가 않더라구.

    src 에는 뭐가있고, bin 에는 뭐가 있고,,

    사실 워크스페이스, 워킹셋츠, 프로젝트, 패키지, 클래스.. 대충은 알고 있다고 하지만

    누가 물어봤을 자연스럽게 이해를 시키면서 알려줄 자신은 없었어.

    (학교 다닐 , 교수님이 항상 그림으로 그리면서 공부하고 남에게 설명 있을 정도가 되야한다고..

    그땐.. 유치한 소리같았는데.. 어느정도 맞는 같기도 하더라고..😏)

     

     

    JRE & JDK

    [ JRE : Java Runtime Environment ]

    • JRE 자바 실행 환경(Java Runtime Environment) 약자이다.
    • 자바 가상 머신 JVM (Java Virtual Machine) 뿐만 아니라
      자바 프로그램을 실행하는데 필요한 Java binaries, Java 클래스 라이브러리, 각종 API 등이 포함되어 있다.
    • But, JRE compiler Debuuger 등의 도구는 포함하지 않는다.
      JRE
      자바로 "개발(쓰기) 안되고 실행(읽기) 된다" 라고 이해하면 된다.

    https://www.geeksforgeeks.org/difference-between-jdk-and-jre-in-java/

    [ JDK : Java Development Kit ]

    • JDK 자바 개발 키드(Java Development Kit) 약자이다.
    • 이름 그대로 Java Application 개발하기 위한 환경을 지원한다.
    • JDK 안에는 JRE 뿐만 아니라 javac(컴파일러), javadoc(소스 주석을 문서화하는 명령어), jar 개발에 필요한 도구들을 포함하고 있다.

    https://www.geeksforgeeks.org/difference-between-jdk-and-jre-in-java/
    JDK와 JRE 내부 구성

    → Java 를 직접 개발할 경우에는 JDK 가 필요하고, Java 프로그램을 실행시켜야 하는 경우에는 JRE 가 필요하다.

     

     

    Working sets
    • project  그룹지어 구분하는 분류
    • 아래와 같이 분류를 Working Sets 구분할 있다.

    Eclipse Working sets 보기

     

     

    Project 파일 및 폴더 구조

    [ 공통 명명 규칙 ]

    • 대소문자가 구분되며 길이에 제한이 없다.
    • 예약어(이미 시스템에서 사용되고 있는 용어) 사용 불가
    • 숫자로 시작 불가
    • 특수문자는 '_', '$' 가능
    • 파스칼 표기법(PascalCase) 카멜 표기법(camelCase) 사용한다.

     

    [ WorkSpace ]

    • 하나의 전체 프로그램 단위이다.
    • 볼륨이 프로젝트는 여러 개의 project 구성될 있다.
    • 아무리 프로그램이라도 workspace 1개이고, 하위에 여러 project 속할 있다.
    • 명명 규칙은 공통을 따른다 (보통은 대문자로 시작한다.)

    [ Project ]

    • 하나의 실행파일 단위이다.
    • Project 안에는 상위/하위 package 존재한다
    • 보통 대문자로 시작하여 명명한다.

    [ Package ]

    • 클래스를 기능별로 묶어둔 단위이다.
    • 단일 패키지도 사용 가능하고, 상위/하위로 구분하여 트리형태도 가능하다.
    • 폴더 구조는 상위 내부에 하위 패키지가 속한다.
    • Java 소스코드 "*.java" project 내부의 src package 안에 위치한다.
    • Java 컴파일된 class파일 "*.class" project 내부의 bin package 안에 위치한다. (이동이 가능하다)
    • 보통 소문자를 사용하여 명명한다.

    [ Class ]

    • 실제 코드를 모아둔 소스 파일이다.
    • 실제로 소스코드를 작성하는 것은 compile 하여 class 파일을 생성하는 것이다.
    • 파스칼 표기법을 사용하며 명사로 시작한다.

    [ + Interface ]

    • 형송사를 사용하며 특별한 접두사나 접미사를 사용하지 않고 파스칼 표기법을 사용한다. ( Runnable … )

    [ + Methods ]

    • 카멜 표기법을 사용하며 동사로 시작한다. ( getBook, setBook … )

     

    평소에 생각 안했던 것들이라서 그런지 정리하다보니 아직 내가 공부할게 참 많구나 느껴졌어

    (이상한 폴더들 안에 있는 것들도 궁금하고 서버 관련 파일들도 궁금하고.. 뭔가 알수록 더 흥미로워지는 듯..?!)

    다음에는 여러 폴더들안에 있는 것들이 어떤 역할들을 하는지 상세하게 정리를 해봐야겠어..

     


     

    Ref.

    ## JDK&JRE

    https://coding-factory.tistory.com/826

    ## Working sets

    https://dololak.tistory.com/451

    ## 워크스페이스/프로젝트/패키지/클래스의 개념 및 명명 규칙

    https://codevang.tistory.com/76

    https://udpark.tistory.com/132

    https://dkswnkk.tistory.com/539

    ## 패기지에 대한 추가 내용

    https://wikidocs.net/231

    https://velog.io/@redgem92/Java-%ED%8C%A8%ED%82%A4%EC%A7%80%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC-%EC%95%8C%EC%95%84%EB%B4%90%EC%9A%94

    'Language > Java' 카테고리의 다른 글

    [Java] Lombok 이란?  (0) 2023.10.27

    댓글

Designed by IT's H.H.