이전에 클래스 패스는 자바를 실행할때 클래스 파일의 경로를 미리 지정해서 위치가 달라도 자바가 그 경로를 찾아서 실행할 수 있었다.


패키지 개념은 컴파일을 할때, 이름이 중복되는 java파일이 있으면 충돌오류가 발생해서 이를 방지하고자 나온 개념이다.


즉 폴더를 미리 나눠놔서 중복이 발생되지 않도록 구분해둔다.


보통 도메인 이름으로 패키지명을 쓰는데, 이는 도메인이 유일 무이한 고유한 속성이기 때문에 쓰는 것이다.

ex)com.opentutorial.javatutorial.example


이렇게 소스 맨위에 package 선언을 하게되면 실제 폴더가 생성되고 그안에 해당 소스파일이 생성된다.


우리가 흔히 import java.util.Scanner 요롷게 해서 입력을 쓰는데, java.util패키지 폴더 밑에 Scanner 클래스를 사용하겠다. 라는 의미이다.

이 import 키워드 사용으로 다른 패키지에 있는 클래스를 사용할 수 있다. 그러면 하나의 소스파일안에 여러개의 클래스가 있는거겟지 ㅎㅎ




반응형

'java' 카테고리의 다른 글

자바 클래스패스~  (0) 2018.12.31
자바 시작~!(초기셋팅 절차)  (0) 2018.12.31

클래스 패스 = 자바 클래스 파일의 위치 경로를 지정해주는 기능


사용법 : java -classpath ".;lib" ClassDemo 

여기서 보면 ".;lib"의 의미는 현재 그리고 현재안의 lib폴더의 경로를 지정한 것이다.

그래서 class 파일이 떨어져 있어도 내가 수동으로 classpath 옵션으로 지정해주면 실행이 가능하다.


일일히 이 -classpath 옵션을 붙이기 귀찮아서 우리가 맨처음에 배운 환경변수에 class 파일이 전부 있는 폴더 경로를 미리 지정해준다.

CLASSPATH 의 임의 변수에 C:\파일위치; 추가 파일위치 ; ; ; ; ; ; 등등등 을해서 사용이 가능하다.

이것도 귀찮아서 배치파일 이나 스크립트 파일에 경로설정에 관한 것을 미리 만들어 놓기도 한다. 이건 안써봐서 모르겟다 아직 

반응형

'java' 카테고리의 다른 글

자바 패키지~  (0) 2018.12.31
자바 시작~!(초기셋팅 절차)  (0) 2018.12.31

Java 란?

-각 운영체제 마다 jvm이라는것이 존재해서 플랫폼에 독립적으로 실행할 수 있는 프로그램을 만드는 언어

-Java는 작성과 컴파일, 디버깅이 쉽다. 모듈식 프로그램과 재사용 코드를 이용하기 쉽다.


Java 프로그램을 만드는 단계 3가지

1. 프로그램 작성, write

2. 컴파일 -  javac라는 녀석이 .java 파일을 .class 파일로 컴파일 해준다. 즉 javac는 jdk일부중 컴파일러다.

3. 실행 - jvm이 javac에서 컴파일된 .class 를 실행시켜준다.


여기서 jvm과 jre가 비슷해 보이는데 jre는 JVM의 실행환경이며 좀더 큰 범위를 말하는 것이고, JVM은 jdk 일부이면서 jre 일부로 실질적으로 바이너리 파일을 읽고 실행한다.


java는 메모리 접근을 직접적으로 하지 않아서 오류가 날 확률이 적고 메모리 충돌과 같은 것도 일어나지 않는다. 또한 멀티스레딩 지원과 브라우저에 플러그인을 제공해준다.(이건 jre)


-자바 시작 셋팅 절차-

1. java.sun.com으로 접속해서 jdk 최신을 다운받는다. 






2. 다운 받고 cmd에서 javac를 쳐본다. (아무것도 안떠야 정상)


3. 시스템 변수에 javac가 있는 곳의 경로를 추가해준다. 내컴퓨터-속성 - 고급시스템설정- 고급-환경변수-path라는 변수에 javac가있는 경로를 추가한다.




4. cmd창을 닫고 다시 열어서 javac를 입력하면 쭈루루룩 몬가가 뜬다. 그러면 정상적으로 jdk가 설치된것


5. notepad같이 아무 에디터로 java를 작성해서 javac로 컴파일 할 수있지만, 일일히 컴파일해주고 소스코드,바이너리코드를 관리하기 불편하므로 ide를 이용한다.



6. 이제 이클립스를 열고 java를 코딩해보자.



반응형

'java' 카테고리의 다른 글

자바 패키지~  (0) 2018.12.31
자바 클래스패스~  (0) 2018.12.31

+ Recent posts