μλ° λ©μλ - μλ° νμ€ μ μΆλ ₯ ν΄λμ€
β
μλ νμΈμ. μμνμ λλ€.
μλ° νμ€ μ μΆλ ₯ ν΄λμ€
μ¬μ©μκ° νλ‘κ·Έλ¨κ³Ό λννκΈ° μν΄μλ μ¬μ©μμ νλ‘κ·Έλ¨ μ¬μ΄μ μ μΆλ ₯μ λ΄λΉνλ μλ¨μ΄ νμν©λλ€. μλ°μμλ λͺ¨λ κ²μ΄ κ°μ²΄λ‘ ννλλ―λ‘ μ μΆλ ₯μ λ΄λΉνλ μλ¨ λν λͺ¨λ κ°μ²΄μ λλ€.
β
CμΈμ΄μ printf() ν¨μλ scanf() ν¨μμ²λΌ μλ°μμλ Systemμ΄λΌλ νμ€ μ μΆλ ₯ ν΄λμ€λ₯Ό μ μνμ¬ μ 곡νκ³ μμ΅λλ€. μ΄λ¬ν System ν΄λμ€λ java.lang ν¨ν€μ§μ ν¬ν¨λμ΄ μ 곡λ©λλ€. System ν΄λμ€μλ νμ€ μ μΆλ ₯μ μν΄ λ€μκ³Ό κ°μ ν΄λμ€ λ³μ(static variable)κ° μ μλμ΄ μμ΅λλ€.
β
- System.in
- System.out
- System.err
β
μλ°μμλ System.in μ€νΈλ¦Όμ μ¬μ©νμ¬ νμ€ μ λ ₯ μμ μ μνν©λλ€. λν, System.out μ€νΈλ¦Όμ΄λ System.err μ€νΈλ¦Όμ μ¬μ©νμ¬ νμ€ μ μΆλ ₯ μμ μ μνν©λλ€.
System.out.println()
System.out.println() λ©μλλ₯Ό μ¬μ©νλ©΄ λͺ¨λν°μ μ λ¬λ λ°μ΄ν°λ₯Ό μΆλ ₯ν νμ μ€ λ°κΏκΉμ§ ν΄μ€λλ€. println() λ©μλλ₯Ό μ¬μ©νλ λ¬Έλ²μ λ€μκ³Ό κ°μ΅λλ€.
System.out.println(μΆλ ₯ν λ°μ΄ν°);
μ΄λ κ² νμ€ μΆλ ₯ μ€νΈλ¦Όμ μ λ¬λ λ°μ΄ν°λ μ€νΈλ¦Όμ ν΅ν΄ μΆλ ₯ μ₯μΉλ‘ μ λ¬λμ΄ μΆλ ₯λ©λλ€.
System.out.print(7); // print() λ©μλλ μ€ λ°κΏμ νμ§ μμ
System.out.println(3); // μ μ μΆλ ₯
System.out.println(3.14); // μ€μ μΆλ ₯
System.out.println("μλ°!"); // λ¬Έμμ΄ μΆλ ₯
System.out.println("λ¬Έμμ΄λΌλ¦¬μ" + "μ°κ²°λ κ°λ₯ν©λλ€.");
System.out.println("μ«μ" + 3 + "κ³Ό λ¬Έμμ΄μ μ°κ²°λ κ°λ₯ν©λλ€.");
μ€νκ²°κ³Ό
73
3.14
μλ°!!
λ¬Έμμ΄λΌλ¦¬μ μ°κ²°λ κ°λ₯ν©λλ€.
μ«μ3κ³Ό λ¬Έμμ΄μ μ°κ²°λ κ°λ₯ν©λλ€.
β» println() λ©μλμ λ¬λ¦¬ print() λ©μλλ μ λ¬λ λ°μ΄ν°λ₯Ό μΆλ ₯ν νμ μ€ λ°κΏμ νμ§μμ΅λλ€.
|
JAVA8μμμ λ³κ²½ μ¬ν
2014λ μ λ°νλ μλ°μ μ΅μ λ²μ μΈ Java SE 8 λ²μ μμλ λ§μ μ¬νμ΄ λ³κ²½λκ±°λ μλ‘κ² μΆκ°λμμ΅λλ€. Java SE 8μμ λ³κ²½λκ±°λ μλ‘κ² μΆκ°λ μ¬ν μ€μμ μ£Όλͺ©ν λ§ν νΉμ§μ λ€μκ³Ό κ°μ΅λλ€.
β
- λλ€ ννμ(lambda expression) : ν¨μν νλ‘κ·Έλλ°
- μ€νΈλ¦Ό API(stream API) : λ°μ΄ν°μ μΆμν
- java.time ν¨ν€μ§ : Joda-Timeμ μ΄μ©ν μλ‘μ΄ λ μ§μ μκ° API
- λμ¦νΌ(Nashorn) : μλ°μ€ν¬λ¦½νΈμ μλ‘μ΄ μμ§
λλ€ ννμ(Lambda Expression)
λλ€ ννμμ΄λ κ°λ¨ν λ§ν΄ λ©μλλ₯Ό νλμ μμΌλ‘ ννν κ²μ λλ€. μ¦, μλ³μ μμ΄ μ€νν μ μλ ν¨μ ννμμ μλ―Ένλ©°, λ°λΌμ μ΅λͺ ν¨μ(anonymous function)λΌκ³ λ λΆλ¦ λλ€.
β
λ©μλλ₯Ό μ΄λ κ² λλ€ ννμμΌλ‘ νννλ©΄ ν΄λμ€λ₯Ό λ§λ€κ³ κ°μ²΄λ₯Ό μμ±νμ§ μμλ λ©μλλ₯Ό μ¬μ©ν μ μμ΅λλ€. λν, λλ€ ννμμ λ©μλμ 맀κ°λ³μλ‘ μ λ¬λ μ μκ³ , λ©μλμ κ²°κ³Όκ°μΌλ‘ λ°νλ μλ μμ΅λλ€.
β
μ΄λ¬ν λλ€ ννμμ κΈ°μ‘΄μ λΆνμν μ½λλ₯Ό μ€μ¬μ£Όκ³ μμ±λ μ½λμ κ°λ μ±μ λμ΄λ λ° κ·Έ λͺ©μ μ΄ μμ΅λλ€. Java SE 8 λ²μ λΆν°λ λλ€ ννμμ μ¬μ©νμ¬ μλ°μμλ ν¨μν νλ‘κ·Έλλ°μ ν μ μκ² λμμ΅λλ€.
β
λ€μ μμ λ μ ν΅μ μΈ λ°©μμ μ€λ λ μμ±κ³Ό λλ€ ννμμ μ¬μ©ν μ€λ λ μμ±μ λΉκ΅νλ μμ μ λλ€.
new Thread(new Runnable() {
public void run() {
System.out.println("μ ν΅μ μΈ λ°©μμ μΌνμ© μ€λ λ μμ±");
}
}).start();
new Thread(()->{
System.out.println("λλ€ ννμμ μ¬μ©ν μΌνμ© μ€λ λ μμ±");
}).start();
μ€νκ²°κ³Ό
μ ν΅μ μΈ λ°©μμ μΌνμ© μ€λ λ μμ±
λλ€ ννμμ μ¬μ©ν μΌνμ© μ€λ λ μμ±
μ€νΈλ¦Ό API(Stream API)
μλ°μμλ λ§μ μμ λ°μ΄ν°λ₯Ό μ μ₯νκΈ° μν΄μ λ°°μ΄μ΄λ 컬λ μ μ μ¬μ©ν©λλ€. λν, μ΄λ κ² μ μ₯λ λ°μ΄ν°μ μ κ·ΌνκΈ° μν΄μλ λ°λ³΅λ¬Έμ΄λ λ°λ³΅μ(iterator)λ₯Ό μ¬μ©νμ¬ λ§€λ² μ½λλ₯Ό μμ±ν΄μΌ νμ΅λλ€.
β
νμ§λ§, μ΄λ κ² μμ±λ μ½λλ κΈΈμ΄κ° λ무 κΈΈκ³ κ°λ μ±λ λ¨μ΄μ§λ©° μ½λμ μ¬μ¬μ©μ΄ κ±°μ λΆκ°λ₯ν©λλ€. λν, λ°μ΄ν°λ² μ΄μ€μ 쿼리μ κ°μ΄ μ ννλ μ²λ¦¬ ν¨ν΄μ κ°μ§μ§ λͺ»νκΈ°μ λ°μ΄ν°λ§λ€ λ€λ₯Έ λ°©λ²μΌλ‘ μ κ·Όν΄μΌλ§ νμ΅λλ€.
β
μ΄λ¬ν λ¬Έμ μ μ 극볡νκΈ° μν΄μ Java SE 8 λ²μ λΆν° λμ ν λ°©λ²μ΄ λ°λ‘ μ€νΈλ¦Ό APIμ λλ€. μ€νΈλ¦Ό APIλ λ°μ΄ν°λ₯Ό μΆμννμ¬ λ€λ£¨λ―λ‘, λ€μν λ°©μμΌλ‘ μ μ₯λ λ°μ΄ν°λ₯Ό μ½κ³ μ°κΈ° μν 곡ν΅λ λ°©λ²μ μ 곡ν©λλ€. λ°λΌμ μ€νΈλ¦Ό APIλ₯Ό μ΄μ©νλ©΄ λ°°μ΄μ΄λ 컬λ μ λΏλ§ μλλΌ νμΌμ μ μ₯λ λ°μ΄ν°λ λͺ¨λ κ°μ λ°©λ²μΌλ‘ λ€λ£° μ μμ΅λλ€.
String[] arr = new String[]{"λ·", "λ", "μ
", "νλ"};
//λ°°μ΄μμ μ€νΈλ¦Ό μμ±
Stream<String> stream1 = Arrays.stream(arr);
stream1.forEach(e -> System.out.print(e + " "));
System.out.println();
//λ°°μ΄μ νΉμ λΆλΆλ§μ μ΄μ©ν μ€νΈλ¦Ό μμ±
Stream<String> stream2 = Arrays.stream(arr, 1, 3);
stream2.forEach(e -> System.out.print(e + " "));
μ€νκ²°κ³Ό
λ· λ μ
νλ
λ μ
java.time ν¨ν€μ§
JDKμμλ Date ν΄λμ€λ₯Ό μ¬μ©νμ¬ λ μ§μ κ΄ν μ²λ¦¬λ₯Ό μννμ΅λλ€. νμ§λ§, Date ν΄λμ€λ νμ¬ λλΆλΆμ λ©μλκ° μ¬μ©μ κΆμ₯νμ§ μκ³ (deprecated)μμ΅λλ€.
β
JDK 1.1λΆν° μλ‘κ² μ 곡λ Calendar ν΄λμ€λ λ μ§μ μκ°μ λν μ 보λ₯Ό μ»μ μλ μμ§λ§, λ€μκ³Ό κ°μ λ¬Έμ μ μ κ°μ§κ³ μμ΅λλ€.
β
- Calendar μΈμ€ν΄μ€λ λΆλ³ κ°μ²΄(immutable object)κ° μλλΌμ κ°μ΄ μμ λ μ μμ΅λλ€.
- μ€μ΄(leap second)μ κ°μ νΉλ³ν μν©μ κ³ λ €νμ§ μμ΅λλ€.
- Calendar ν΄λμ€μμλ μ(month)μ λνλΌ λ 1μλΆν° 12μμ 0λΆν° 11κΉμ§λ‘ ννν΄μΌνλ λΆνΈν¨μ΄ μμ΅λλ€.
β
λ°λΌμ λ§μ μλ° κ°λ°μλ€μ Calendar ν΄λμ€λΏλ§ μλλΌ λ λμ μ±λ₯μ Joda-Timeμ΄λΌλ λΌμ΄λΈλ¬λ¦¬λ₯Ό ν¨κ» μ¬μ©ν΄ μμ΅λλ€.
β
java SE 8 λ²μ μμλ μ΄λ¬ν Joda-Time λΌμ΄λΈλ¬λ¦¬λ₯Ό λ°μ μν¨ μλ‘μ΄ λ μ§μ μκ° APIμΈ java.time ν¨ν€μ§λ₯Ό μ 곡ν©λλ€. java.time ν¨ν€μ§λ μμ κ°μ λ¬Έμ μ μ λͺ¨λ ν΄κ²°νμΌλ©° λ€μν κΈ°λ₯μ μ§μνλ λ€μμ νμ ν¨ν€μ§λ₯Ό ν¬ν¨νκ³ μμ΅λλ€..
LocalDate today = LocalDate.now();
System.out.println("μ¬ν΄λ" + today.getYear() + "λ
μ
λλ€.");
LocalDate otherDay = today.withYear(2003);
System.out.println("μ¬ν΄λ" + otherDay.getYear() + "λ
μ
λλ€.");
μ€νκ²°κ³Ό
μ¬ν΄λ 2022λ
μ
λλ€.
μ¬ν΄λ 2003λ
μ
λλ€.
λμ¦νΌ(Nashorn)
μ§κΈκΉμ§ μλ°μ€ν¬λ¦½νΈμ κΈ°λ³Έ μμ§μΌλ‘λ λͺ¨μ§λΌμ λ¦¬λ Έ(Rhino)κ° μ¬μ©λμ΄ μμ΅λλ€. λͺ¨μ§λΌμ λ¦¬λ Έλ κ·Έ λΉμμλ νλ₯ν μ€ν¬λ¦½νΈ μΈμ΄μμ΅λλ€. νμ§λ§ μΈμμ΄ νλ₯΄λ©΄μ μλ°μ μ΅μ κ°μ μ¬ν λ±μ μ λλ‘ νμ©νμ§ λͺ»νλ λ± λ Έννλ λͺ¨μ΅μ 보μ¬μ£Όκ² λ©λλ€.
β
λ°λΌμ μ΄λ² Java SE 8 λ²μ λΆν°λ μλ°μ€ν¬λ¦½νΈμ μλ‘μ΄ μμ§μΌλ‘ μ€λΌν΄μ λμ¦νΌμ λμ νκ² λ©λλ€. λμ¦νΌμ κΈ°μ‘΄μ μ¬μ©λμ΄ μ¨ λ¦¬λ Έμ λΉν΄ μ±λ₯κ³Ό λ©λͺ¨λ¦¬ κ΄λ ¨ λ©΄μμ ν¬κ² κ°μ λ μ€ν¬λ¦½νΈ μμ§μ λλ€.
μ΄λ² ν¬μ€ν μμλ μ ν¬μ€ν κ³Ό μ΄μ΄μ§λ μλ°νλ‘κ·Έλ¨μ μλ° λ©μλμΈ System λ©μλλ₯Ό μμ보μμ΅λλ€.
β
μλ° λ©μλλ₯Ό μ¬μ©νμ¬ μλ°νλ‘κ·Έλ¨μ ν μ μμΌλ©° μλ° λ©μλμ λμ± μμΈν κ΅μ‘κ³Ό λ΄μ©μ΄ κΆκΈνμλ€λ©΄ μλμ λ€μ΄λ² νΌμ ν΅ν΄ κ°λ¨νκ²λΌλ κΆκΈνμ μ μ λ¨κ²¨μ£Όμλ©΄ μ κ° μ§μ λΉ λ₯΄κ³ μ νν λ΅λ³ λμλλ¦¬κ² μ΅λλ€.
β
κ°μ¬ν©λλ€ :)
β
βΌ μλ°νλ‘κ·Έλ¨μ λν κΆκΈν μ λ¨κΈ°κΈ° βΌ
'ICT > ITμ 보' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ KG ITBANK ] KG μμ΄ν°λ± ν¬κΈ°κ΄μ μκ°ν©λλ€. (0) | 2023.11.09 |
---|---|
νλ‘κ·Έλλ° μΈμ΄ μ’ λ₯ - κΈ°μ΄ μ§μ(νΉμ§)κ³Ό νμ©λλ μΌ (0) | 2023.06.13 |
ν΄λΌμ°λ μ©μ΄μ 리 - ν λμ μμ보기 (0) | 2022.06.06 |
ν΄λΌμ°λμν€ν νΈ - ν΄λΌμ°λμν€ν νΈλ λκΉ? (0) | 2022.05.25 |
μ’ λ‘ ITνμ / μ΄ νμμ νΉλ³νλ€? (0) | 2021.12.14 |