반응형

이 게시물을 작성하는데 이용한 IDE(통합 개발 환경)는 이클립스입니다.

 

프로젝트를 생성해서 개발을 진행하다 보면 파일의 전체적인 구조는 아래와 같이 이루어집니다.

실제로 우리가 코딩하는 부분은 클래스(.class) 파일입니다. (물론 실제로는 .java파일입니다.)

 

게시물을 읽기 전에 자신의 저장폴더와 비교하면서 읽으시면 더 깊은 이해에 도움이 될 것입니다.


 

◎공통 명명규칙
-대소문자 구분을 함.
-숫자로 시작할 수 없음.
-특수문자는 '_' 와 '$'만 사용가능.
-예약어(시스템에서 이미 사용하고 있는 이름. ex)Public Private 등 )를 사용하면 안됨.

 


[ 워크스페이스(WorkSpace) ]

-하나의 프로그램 단위.

-규모가 큰 프로그램은 여러 프로젝트로 이루어질 수 있음.

-가장 상위 폴더로 생성됨.

 

 

◎워크스페이스 명명 규칙
-공통 규칙에 따름

 


[ 프로젝트(Project) ]

-하나의 실행 파일을 생성하기 위한 단위이다.

-워크스페이스의 하위 폴더로 생성됨.

 

 

 

프로젝트 생성 전

 

 

프로젝트 생성 후

 

◎프로젝트 명명 규칙
-대소문자 구분없이 시작 가능.
-하지만 첫 문자를 비롯해 모든 단어는 대문자로 시작하는 것을 권장.

 

 


 

[ 패키지(Package) ]

-클래스를 기능별로 묶어둔 일종의 카테고리이다.

-하나의 패키지만 만들 수도 있고 "상위패키지.하위패키지.최하위패키지" 형태의 트리 구조를 만들 수 있다.

-상위 패키지 폴더 아래에 하위 패키지 폴더가 생성됨.

-소스코드를 저장하는 ".java" 파일의 패키지는 "src" 폴더에 저장됨.

-.java 파일을 컴파일해서 생성된 ".class" 파일의 패키지는 "bin" 폴더에 저장됨.

 

생성된 프로젝트 폴더

 

 

패키지를 생성

 

 

패키지를 "상위패키지.하위패키지.최하위패키지" 형태의 트리구조로 생성하니까

실제로 세 개의 폴더가 생성된 걸 확인할 수 있습니다.

 

◎패키지 명명 규칙
-단어 갯수와 상관없이 소문자로 시작.

-모두 소문자로 사용하는 것을 권장. (가독성을 위해서는 위반해도 됨)
-가급적 한 단어 사용을 권장. (상위 패키지 한단어, 하위 패키지 한단어씩)
-여러 사람 또는 기업과 협업할 경우 표준 패턴을 따름. (개인용으로 쓸 때는 무의미)

 


 

[ 클래스(Class) ]

-비슷한 유형의 메소드(함수)와 변수를 모아놓은 소스코드.

-실제로 작성된 최하위의 소스코드 파일.

-이클립스 에디터에 우리가 작성하는 코딩은 하나의 클래스를 생성하는 작업이다.

-클래스가 속한 최하위 패키지의 폴더에 저장됨.

-클래스의 파일명은 클래스의 이름과 동일해야 함.

 

실제 클래스를 생성

 

bin\park\jin\seong 폴더에 Practice .class파일 생성
src\park\jin\seong 폴더에 Practice .java파일 생성

 

◎클래스 명명 규칙
-대문자로 시작.
-명사로 시작.
-두 번째 단어부터는 소문자도 되지만 대문자로 시작하는 것을 권장.

 


[ 메소드(methods) ]

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

-하나의 클래스에서 다른 클래스의 함수를 실행할 때 실제로 이 메소드를 실행하는 것.

-패키지A.패키지B.패키지C.클래스D.메소드 의 형태로 불러와서 실행함.

 

 

◎메소드 명명 규칙
-소문자로 시작
-동사로 시작
-두 번째 단어부터는 소문자도 되지만 대문자를 권장.

 

 

 


 

 

소문자 시작과 대문자 시작이 강제되는 이유는 패키지.클래스 형태로 호출되는 구조를 사용하기 때문에

클래스와 패키지를 구분하기 위함입니다.

쉽게 생각하면 마지막에 대문자로 시작되는 것을 클래스라고 생각하시면 됩니다.

 

이번 게시물에서 꼭 기억하셔야 할 것은 명명 규칙과 아래 그림의 구조입니다.

이상입니다.

 

 

반응형

'JAVA > 기본 개념' 카테고리의 다른 글

#8 Object 클래스  (0) 2022.08.23
#4 예외처리(Exception Handling)  (0) 2022.08.22
#3 인터페이스  (0) 2022.08.22
#1 자바 개발 핵심 원칙  (0) 2022.07.11
[Java] 컴파일(Compile)의 이해  (0) 2020.11.04

+ Recent posts