| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- apachetomcat
- if문
- mysql오류
- StringBuffer
- 청년적금
- equals()
- 2022청년희망적금
- 이클립스설치
- 자바스크립트배열
- 저축장려금
- 자바스크립트
- 개발공부
- 자바기초
- 공부
- ToString()
- 자바공부
- 배열함수
- 자바강의노트
- 신한은행청년희망적금
- 청년희망적금미리보기
- 자바문자열연결
- 참조변수
- 자바
- Eclipse
- 자바배열
- MySQL
- 청년희망적금
- insert
- 이클립스
- Java
- Today
- Total
eterno
JAVA공부 3. JAVA구성원(식별자, 예약어, 자원) / 클래스와 패키지 본문

자바 입문
https://opentutorials.org/course/3930 여기서 기초 익히기(언어-생활코딩 자바 입문수업)
<자바 컴파일과정>

* JAVA소스를 JUM이 알아 들을 수 있게 번역하고 이것을 CPU에 결과를 냄
<자바 개발도구>
- jdk(Java Development Kit) : 개발할 때 사용
- jdk
javac.exe : 컴파일러
자바소스를 자바규칙에 맞는지 검사
검사가 완료되면 *.class 클래스코드(byte code)를 생성함
java.exe : 실행엔진
(=자바가상버신 = JVM(Java Virtual Machaine) )
*.class 클래스코드를 컴퓨터 cpu와 통신해서 원하는 결과를 만듦
- jre
java.exe 실행파일 - jre(Java Runtime Enviroment) : 배포할 때 사용
<자바의 구성원>
자바의 최소단위 : class
class의 최대 단위 : package
1. 식별자(identifier)
: 클래스 이름 / 함수 이름 / 변수 이름
* 식별자는 내가 맘대로 바꿀 수 있다.
* 식별자에서 합성어를 쓸 때는 이니셜 대문자, 클래스 앞에 대문자, 변수는 소문자로 써야한다.
* 명령규칙(naming convienction) 을 지키지 않으면 위배됨
2. 예약어(keyword)

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html 에서 확인가능
* 키워드에 있는 단어는 식별자로 사용할 수 없다.
- 연산자(operator)
: +, -, = 같은 특수기호
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html 에서 확인 가능
3 .자원(resource)
: 클래스들의 모음집
API(Application Programming Interface)라고도 함
https://docs.oracle.com/javase/8/docs/api/index.html 에서 확인 가능
java.lang.*
java.util.*
java.io.*
java.sql.*
자바설치파일 중 rt.jar 폴더에 있는게 자원임
( C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar )
-> 컴파일할 때 rt.jar를 갖고와서 검사함
자바에서 유일하게 내가 만들어서 사용하는 것 : 식별자
새로 만드는 것이 아니라 있는 거 사용하는 것 : 예약어, 자원
* 키워드와 자원은 똑같이 써야함(다른 문구로 변경할 수 없음)
C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar 압출풀기
C:\Program Files\Java\jdk1.8.0_202\src.jar 압출풀기
java.lang.String 클래스찾기
String 클래스 : C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt\java\lang\String.class
String 자바소스 : C:\Program Files\Java\jdk1.8.0_202\src\java\lang\String.java
String 클래스 api : https://docs.oracle.com/javase/8/docs/api/index.html -> java.lang.String
위의 세 파일이 같은 정보임
<자바 구성원 최소 단위>
클래스 = [변수] + [함수] // [ ]는 생략가능하다는 뜻
* 클래스를 바이트코드 라고도 함
ex) 필통 = 클래스 , 연필 =함수, 변수
*.java
*.class
클래스 선언하기
public class A : A라고 정의하는 사용자 정의 클래스
* public : 다른패키지의 클래스를 불러올 때 사용(접근제한키워드)
1. 하나의 자바 파일 내부에는 클래스가 1개 또는 여러개가 존재할 수 있다.
ex)
Hello_2.java
public class Hello_2.java{
}
class Hello_1 {
}
C:\> javac Hello_2.java
javac : javac 명령어 선언하여 class 생성
Hello_2.java : 컴파일할 자바소스를 자바파일 이름 및 확장자를 써서 선언
2. 자바 클래스는 패키지 단위로 관리를 한다.
- 패키지는 디렉토리 모양과 동일
- 패키지 구분자는 . (dot) 연산자를 사용
- 패키지는 영문자 소문자로 작성
- 패키지는 도메인 역순으로 작성(전세계에서 유니크해야함)

디렉토리 구분자 : \
패키지 구분자 : . (dot 연산자)
=> ex) string 의 경로 : rt.jar \ java . lang . string
<패키지를 만드는 방법>
맨위에 패키지 선언
package a.b.c.com;
public class HelloPackage{
}
<패키지 컴파일하기>
javac -d . HelloPackage.java

1. javac : 컴파일 명령어
2. -d : 디렉토리를 만들어서 그 위치에 클래스파일을 만드세요.
3. . (dot연산자) : 현재폴더(디렉토리)로부터 패키지를 만드세요.
=> C:\00.KOSMO120\10.JExam를 의미함
4. HelloPackage.java : 자바소스파일
* 패키지 컴파일한 HelloPackage 자바소스의 클래스 이름은 HelloPackage.class 가 아니고
a.b.c.com.HelloPackage.class 이다.


패키지는 컴파일하면 패키지폴더가 생성됨
(a > b > c > com 안에 HelloPackage 패키지 생성)
javac HelloPackage.java

패키지명을 쓰지 않아도 컴파일은 되지만 영원히 실행되지 않는 컴파일이다.
javap : 역컴파일

3. 네임스페이스
패키지 컴파일한 자바소스의 클래스 이름 = 패키지명+클래스이름 으로 구성되고
이를 네임스페이스(NameSpace) 라고 한다.
- 네임스페이는 전세계에서 유니크한 개체이름이다.
- 일반컴파일
java 자바소스파일 // ex) javac Hello.java
java 클래스이름 // ex) java Hello - 패키지 컴파일
javac –d . 자바소스파일 // ex) javac -d . Hello.java
java 패키지명.클래스이름 // ex) java a.b.c.com.Hello
<자바 개발시 필요한 프로그램>
1. JDK 1.8
2. 편집기 EDIT+
3. MS DOS(CONSOLE)
4. API
=> IDE로 4가지를 한꺼번에 처리 가능
IDE(통합 개발 환경)
- eclipse(비상업) / IntelliJ(상업) 등등

'JAVA > 강의노트' 카테고리의 다른 글
| JAVA공부 6. main(), public, 출력함수 (9) | 2022.08.11 |
|---|---|
| JAVA공부 5. 이클립스 설치부터 참조변수, return() (6) | 2022.08.10 |
| JAVA공부4. 자료형과 인코딩, 디코딩 (6) | 2022.08.09 |
| JAVA공부 2. 자바설치부터 java실행하기 (0) | 2022.08.08 |
| JAVA공부 1. 자바 기초 알기 (2) | 2022.08.08 |