μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 | 31 |
- H2 μ€μΉ
- java
- Postman
- Git
- ν°μ€ν 리μ±λ¦°μ§
- κΈ°μ΄100μ
- GitHub
- μ½λμ
- Spring Boot
- Spring
- golang
- JPA
- ν΄λ¦° μ½λ
- μκ³ λ¦¬μ¦
- MySQL
- μ€νλ§
- go
- ν΄λ¦°μ½λ
- Codeup
- Python
- Vue.js
- κ°μ¬μ€
- μ€λΈμ
- spring security
- 둬볡
- mariadb
- Gradle
- springboot
- νμ΄μ¬
- thymeleaf
- Today
- Total
nyximos.log
[Java] ν¨ν€μ§ λ³Έλ¬Έ
π©π λͺ©ν
μλ°μ ν¨ν€μ§μ λν΄ νμ΅νμΈμ.
π©π» νμ΅ν κ²
- package ν€μλ
- import ν€μλ
- ν΄λμ€ν¨μ€
- CLASSPATH νκ²½λ³μ
- -classpath μ΅μ
- μ κ·Όμ§μμ
π¦ package ν€μλ
μλ‘ κ΄λ ¨ μλ ν΄λμ€λ μΈν°νμ΄μ€λ₯Ό νλλ‘ λ¬Άμ κ². ν΄λ, λλ ν 리 κ°λ
μ£Όλ‘ ν΄λμ€μ name spaceλ₯Ό λΆλ¦¬νλλ° μ¬μ©λλ€.
λ΄λΆμ λ€λ₯Έ ν¨ν€μ§λ₯Ό ν¬ν¨ν μ μλ€.
ν΄λμ€μ μ€μ μ΄λ¦ FQCN(Fully Qualified Class Name)μ ν¨ν€μ§λͺ μ ν¬ν¨νλ€.
→ String ν΄λμ€μ μ€μ μ΄λ¦μ java.lang.String μ΄λ€.
μλ°κ° μ 곡νλ λΌμ΄λΈλ¬λ¦¬λ κΈ°λ₯λ³λ‘ ν¨ν€μ§λ‘ λ¬Άμ¬μ μ 곡λκ³ μλ€.
java.lang : κΈ°μ΄μ μΈ κΈ°λ₯ μ 곡νλ ν΄λμ€λ₯Ό λͺ¨μλ ν¨ν€μ§ (importλ¬Έ μμ±νμ§ μμλ μ¬μ©κ°λ₯)
java.net : λ€νΈμν¬λ₯Ό λ΄λΉνλ ν΄λμ€
π§ ν¨ν€μ§ μ μ
package ν¨ν€μ§μ΄λ¦;
μμ κ°μ νμμ μ½λλ₯Ό μμ€ νμΌμ 첫λ²μ§Έ μ€μ μμ±νλ€. (μ£Όμ, 곡백 μ μΈ)
μ΄ μμ€νμΌ μμμ μ μΈλ ν΄λμ€λ€μ μ΄ ν¨ν€μ§μ μνκ² λλ€.
νλμ μμ€νμΌμλ ν¨ν€μ§ λ¬Έμ₯ νλλ§ μμ μ μμΌλ©° λͺ¨λ ν΄λμ€λ λ°λμ νλμ ν¨ν€μ§μ ν¬ν¨λμ΄μΌ νλ€.
μμ μ΄ μν ν¨ν€μ§λ₯Ό μ§μ νμ§ μμ ν΄λμ€λ μλμ μΌλ‘ unnamed packageμ μνκ² λλ€.
ν¨ν€μ§λͺ μ μμ½μ΄λ₯Ό μ¬μ©νλ©΄ μλκ³ ν΄λμ€λͺ κ³Ό μ½κ² ꡬλΆνκΈ° μν΄ μλ¬Έμλ‘ μ§λ κ²μ΄ μ’λ€.
π€ ν¨ν€μ§ μ¬μ© μ΄μ
- ν¨ν€μ§λ₯Ό μ΄μ©νλ©΄ μλ‘ κ΄λ ¨λ ν΄λμ€λ€μ νλμ λ¨μλ‘ λͺ¨μ μ μλ€.
- λμ± μΈλ°ν μ κ·Ό μ μ΄ κ΅¬νμ΄ κ°λ₯νλ€. → ν΄λμ€μ μΊ‘μν
- NameSpaceμ μν μ ν΄μ€λ€. → ν΄λμ€λͺ μ€λ³΅μΌλ‘ μ μ κ°λ₯
π‘ import ν€μλ
import ν¨ν€μ§λͺ
.ν΄λμ€λͺ
;
λλ
import ν¨ν€μ§λͺ
.*;
λ€λ₯Έ ν¨ν€μ§μ ν΄λμ€λ₯Ό μ¬μ©νλ €λ©΄ ν¨ν€μ§λͺ μ΄ ν¬ν¨λ ν΄λμ€ μ΄λ¦μ μ¬μ©νλ€.
μ»΄νμΌλ¬μκ² μμ€νμΌμ μ¬μ©λ ν΄λμ€μ ν¨ν€μ§μ λν μ 보λ₯Ό μ 곡νλ€.
λͺ¨λ importλ¬Έμ packageλ¬Έ λ€μμ, ν΄λμ€ μ μΈλ¬Έ μ΄μ μ μμΉνλ€.
packageλ¬Έκ³Ό λ¬λ¦¬ ν μμ€νμΌμ μ¬λ¬ λ² μ μΈν μ μλ€.
κ°μ ν¨ν€μ§μμ μ¬λ¬ κ°μ ν΄λμ€κ° μ¬μ©λ λ, 'ν¨ν€μ§λͺ .*' μ μμ±νμ¬ ν¨ν€μ§λͺ μμ΄ μ¬μ©ν μ μλ€.
π ν΄λμ€ν¨μ€
ν΄λμ€λ₯Ό μ°ΎκΈ° μν κ²½λ‘
μλ° νλ‘κ·Έλ¨ μ€νμ,
β μμ€νμΌ(.java)μ μ»΄νμΌνλ€.
β‘ μλ° μ»΄νμΌλ¬λ μλ° μμ€ μ½λλ₯Ό λ°μ΄νΈ μ½λ(.class)λ‘ λ³ννλ€. μ΄λ₯Ό ν΄λμ€ νμΌμ΄λΌκ³ νλ€.
β’ class loaderλ νλ‘κ·Έλ¨μ λ°μ΄νΈ μ½λκ° λ€μ΄μλ ν΄λμ€ νμΌκ³Ό μ€νμ νμν λ€λ₯Έ ν΄λμ€ νμΌμ ν¨κ» λ©λͺ¨λ¦¬μ μ μ¬νλ€.
λ°μ΄νΈ μ½λ κ²μ¦κΈ°λ λ°μ΄νΈ μ½λλ€μ΄ μ΄μμ΄ μμΌλ©° μλ° λ³΄μ κ·μΉμ μλ°°νμ§ μλμ§ κ²μ¬νλ€.
β£ JVMμ΄ λ°μ΄νΈ μ½λλ₯Ό μ€ννλ€. μ΄λ ν΄λμ€ νμΌμ ν¬ν¨λ λͺ λ Ήμ μ€ννκΈ° μν΄ νμΌμ μμΉλ₯Ό μκ³ μμ΄μΌ νκΈ° λλ¬Έμ classpathμ μ§μ λ κ²½λ‘λ₯Ό μ¬μ©νλ€.
classpath
.class νμΌμ΄ ν¬ν¨λ λλ ν 리μ νμΌμ μ½λ‘ (;)μΌλ‘ ꡬλΆν λͺ©λ‘
class μ§μ λ°©λ²
β CLASSPATH νκ²½λ³μ μ¬μ©
β‘ java runtimeμ -classpath μ΅μ μ¬μ©
πΊ CLASSPATH νκ²½λ³μ
μ μ΄ν - μμ€ν
κ³ κΈμμ€ν μ€μ
νκ²½ λ³μ
μμ€ν λ³μ - μλ‘ λ§λ€κΈ°
λ³μλͺ : JAVA_HOME
λ³μκ° : jdk κ²½λ‘
μμ€ν λ³μ - Path - νΈμ§
μλ‘ λ§λ€κΈ° ν μλμ κ°μ΄ μ λ ₯
%JAVA_HOME%bin
JAVA_HOMEμ μ μ₯λ jdk κ²½λ‘μμ bin ν΄λλ₯Ό μ°Ύμκ°λ€.
μ΄λ κ² ν΄λλ©΄ jdk λ²μ μ΄ λ¬λΌμ§λ JAVA_HOMEλ§ λ³κ²½ν΄μ£Όλ©΄ λλ€.
cmdλ₯Ό μ€νν΄ javacλ₯Ό μ λ ₯ν΄λ³΄μ.
μ΄λ° μ°½μ΄ λ¨λ©΄ μ±κ³΅
μλ κ² νκ²½ λ³μλ₯Ό μ€μ ν΄λλ©΄ CLI νκ²½μμλ νλ‘κ·Έλ¨μ μ€ν μν¬ μ μλ€.
π· -classpath μ΅μ
java -classpath [κ²½λ‘]
java -cp [κ²½λ‘];[κ²½λ‘];[κ²½λ‘]
μ»΄νμΌλ¬κ° μ»΄νμΌ νκΈ° μν΄μ νμλ‘ νλ ν΄λμ€ νμΌλ€μ μ°ΎκΈ° μν΄μ μ»΄νμΌμ νμΌ κ²½λ‘λ₯Ό μ§μ ν΄μ£Όλ μ΅μ
-class μ΅μ μ μ¬μ©νμ§ μμ κ²½μ° ν΄λμ€ νμΌμ΄ μμΉν νμ¬ λλ ν 리λ₯Ό default classpathλ‘ μ§μ νλ€.
javacμ java λͺ λ Ήμ΄λ₯Ό μΈ λ λͺ¨λ μ¬μ©ν μ μλ€.
μ°Έμ‘°ν ν΄λμ€ νμΌ κ²½λ‘κ° λ€λ₯Έ λ€λ₯Έ λλ ν 리μλ μ‘΄μ¬ν μ μΈλ―Έμ½λ‘ ; μΌλ‘ ꡬλΆνλ€.
π¬ μ κ·Ό μ§μμ
access modifier
λ©€λ², ν΄λμ€μ μ¬μ©λμ΄, ν΄λΉνλ λ©€λ² λλ ν΄λμ€λ₯Ό μΈλΆμμ μ κ·Όνμ§ λͺ»νλλ‘ μ ννλ μν μ νλ€.
μ κ·Ό μ μ΄μκ° μ§μ λμ΄ μμ§ μμ λλ defaultμμ λ»νλ€.
μ κ·Ό μ μ΄μλ₯Ό μ¬μ©νλ μ΄μ λ μΈλΆλ‘λΆν° λ°μ΄ν°λ₯Ό 보νΈνκ³ λ΄λΆμ μΌλ‘λ§ μ¬μ©λλ λΆλΆμ μ¨κΈ°κΈ° μν¨μ΄λ€.
μ κ·Ό μ μ΄μ | κ°μ ν΄λμ€ | κ°μ ν¨ν€μ§ | μμ ν΄λμ€ | μ 체 |
public | O | O | O | O |
protected | O | O | O | |
μμ | O | O | ||
private | O |
μ°Έμ‘°
λ¨κΆμ±, μλ°μ μ μ κΈ°μ΄νΈ, λμ°μΆν, 2019
μ²μΈκ΅, μ΄μμ JAVAλ μ²μμ΄μ§!, INFINITYBOOKS, 2015
'Programming > JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] μμΈ μ²λ¦¬ (0) | 2022.09.01 |
---|---|
[Java] μΈν°νμ΄μ€ (1) | 2022.08.29 |
[Java] μμ (0) | 2022.08.12 |
[Java] ν΄λμ€ (0) | 2022.08.05 |
[Java] μ μ΄λ¬Έ (0) | 2022.08.04 |