본문 바로가기

bitcamp/JAVA

클래스패스와 패키지

1. 절대경로와 상대경로에 대하여 설명하시오.

· 경로란? 문서나 파일의 위치를 나타내는 것이 경로이며, 절대경로와 상대경로가 있다.

· 내부 파일을 불러올 때 상대경로를 사용하고, 외부 파일을 불러올 때 절대경로를 사용한다.

· 절대경로: 루트 디렉토리를 포함한 주소를 갖는 경로를 말하며, 컴퓨터에서는 C:\, URL에서는 http://로 시작된다.

· 상대경로: 루트 디렉토리를 포함하지 않는 주소를 갖는 경로를 말하며, 참조하고 있는 문서가 기준이 된다.

 

2. . 과 .. 의 차이는?

· .은 현재 디렉토리, ..는 이전 디렉토리를 의미한다.

· .은 현재 디렉토리에서 찾아보고 없으면 뒤에 첨부한 주소에서 찾아라 라는 의미.

· 현재 디렉토리는 c:\PackageStudy이며, 컴파일러 실행 시 같은 창(파일)에 있는 class는 모두 생성된다.

  (AAA, ZZZ, WhatYourName에 대한 class가 모두 생성됨)

 이 때 AAA, ZZZ class를 다른 경로에 저장하게 되면 파일을 찾을 수 없게된다.

 

3. set classpath 에 대하여 설명하시오.

· classpath란? 자바 가상머신의 클래스 탐색 경로이다.

· set classpath는 파일 위치를 변경시킨 후 변경된 위치에서 파일을 검색하게 하는 명령어이다.

· ex) set classpath= .;C:\PackageStudy\MyClass

       set classpath는 현위치에 파일이 없다면 위치를 MYClass로 변경시켜주고, MYClass 내에서 파일 검색한다.

· 환경변수를 설정하는 이유? 시스템 전체 모든 폴더에서 사용 가능하도록 하기 위해 classpath를 설정해야 한다.

 (등록 하지 않으면 실행x)

4. package 의 기본적인 명명법은?

· package는 모두 소문자로 구성되며, 인터넷 도메인 이름의 역순으로 구성된다.

· 이름 끝에 클래스를 정의한 주체 또는 팀의 이름을 추가하여 작성한다.

 

5. package의 용도는?

· 공간에서의 충돌: 두 개의 class 명이 같을 때 다른 package를 생성하여 공간에서의 충돌을 방지해주는 역할을 한다.

 (즉, 두 개의 class 명이 같을 때, 어떤 class를 컴파일 할지 판단이 모호하므로 package를 이용)

 패키지를 다르게 하면 공간이 구분 되기 때문에 같은 이름의 class 생성이 가능해진다.(패키지마다 폴더가 생성)

· 접근 방법에서의 충돌: 인스턴스 생성 시 구별이 가능하다.

  ex) package가 다르기 때문에 class(Circle)가 같더라도 객체 생성이 가능하다.

 

6. import란?

· 생성한 패키지를 끌고와서 사용한다는 의미로 표기되는 키워드이다.

· java에 미리 생성된 Scanner 사용할 때, import java.util.Scanner; 가 상단에 생성되는데

 import가 없었다면 java.util.Scanner scanner = new Scanner(System); 이라 표기해야 오류가 발생하지 않는다.

· import java.util.*; import ~ *은 java.util에 있는 Scanner 뿐만이 아닌 모든 class를 사용한다는 의미이다.

'bitcamp > JAVA' 카테고리의 다른 글

기타_연습문제  (0) 2021.01.10
접근제한자와 캡슐화  (0) 2021.01.10
클래스와 생성자_연습문제  (0) 2021.01.04
클래스와 생성자  (0) 2021.01.03
메소드와 변수의 Scope  (0) 2021.01.03