Do it! μλ° μμ μ 볡 μ± μΌλ‘ 곡λΆνλ©΄μ μ 리νλ ν¬μ€ν
https://youtube.com/playlist?list=PLR9w0n2BH7rfISFIV_BhWSA05YTXjKiYC
[Do it μλ° μμ μ 볡] 01μ₯ μλ° μμνκΈ°
www.youtube.com
β . νλ‘κ·Έλλ° μΈμ΄μ μλ°
1. νλ‘κ·Έλλ° μΈμ΄
: μ»΄ν¨ν°κ° μ΄ν΄ν μ μλ λͺ λ Ήμ μμ±νκΈ° μν λꡬ
μ»΄ν¨ν°λ 0κ³Ό 1λ§ μ΄ν΄ν μ μκΈ° λλ¬Έμ μλ°, C, C++κ³Ό κ°μ νλ‘κ·Έλλ° μΈμ΄λ₯Ό μ¬μ©ν΄
μ΄λ₯Ό μ»΄νμΌλ¬λ₯Ό ν΅ν΄ κΈ°κ³μ΄λ‘ λ²μνμ¬ μ»΄ν¨ν°μ μ λ¬ν΄μΌ ν¨
1) κ³ κΈμΈμ΄ : μΈκ°μ΄ μ΄ν΄νκΈ° μ¬μ΄ λ¬Έμ₯μ μ¬μ©ν΄ μ»΄ν¨ν°κ° μνν΄μΌ ν μμ μ μ μν μΈμ΄, C, C++, μλ° λ±
2) κΈ°κ³μ΄ : 2μ§ λ°μ΄ν°λ‘ ꡬμ±λ μΈμ΄λ‘ μ»΄ν¨ν°κ° μ§μ μ΄ν΄ν μ μμ. (001010100010111...)
3) μ΄μ λΈλ¦¬μ΄ : κΈ°κ³ μΈμ΄μ 1 λ 1λ‘ λμλλ μΈμ΄... κ³ κΈ μΈμ΄μ κΈ°κ³μ΄ μ¬μ΄μ μΈμ΄
2. μλ°μ νΉμ§
1) νλ«νΌ λ λ¦½μ± : νλμ νλ‘κ·Έλ¨μ΄ λͺ¨λ νλ«νΌμμ μ€ν κ°λ₯ν λ νλ«νΌ λ 립μ±μ΄ μλ€κ³ νλ€. μλ°μ κ²½μ° μλ° κ°μ λ¨Έμ (Java Virtual Machine)μ μ€μΉνλ©΄ μ΄λ€ νλ«νΌμμλ μλ°μ μ€ν νμΌ(.class νμΌ)μ μ€νν μ μλ€.
λ¬Όλ‘ νλ«νΌλ§λ€ λ°λ‘λ°λ‘ JVMμ΄ μκΈ΄ νλ€. μλμ°μ©, λ§₯μ©, 리λ μ€μ© λ±λ±... νλ μ΄λ μ€λΌν΄μμ μ 곡νκΈ° λλ¬Έμ λ΄ νλ«νΌμ λ§λ JVMμ μ€μΉνκΈ°λ§ νλ©΄ λλ€.
λ°λλ‘ νλ«νΌ μ’ μμ±μ΄ μλ .exeνμΌ(μλμ°), .appνμΌ(λ§₯), .shνμΌ(리λ μ€) λ±μ λ€λ₯Έ νλ«νΌμμλ μ€νν μ μλ€.
2) κ°μ²΄ μ§ν₯ μΈμ΄
3) ν¨μν μ½λ© μ§μ
4) λΆμ° μ²λ¦¬ μ§μ
5) λ©ν° μ°λ λ μ§μ
3. μλ° κ°λ°λꡬ(Java Development Kit),
μλ° μ€ν νκ²½(Java Runtime Environment)
=> JDK ⊃ JRE ⊃ JVMμ κ΄κ³
β ‘. μλ° νλ‘κ·Έλ¨μ κΈ°λ³Έ ꡬ쑰
1. μλ° μμ€ μ½λμ μ€ν κ³Όμ
μμ€ νμΌ(.java)μ μμ±ν ν μ»΄νμΌμ μννλ©΄ (μ΄ν΄λ¦½μ€ μ¬μ© μ μμ€μ½λλ₯Ό μ μ₯νλ©΄ μλμΌλ‘ μ»΄νμΌμ ν΄μ€λ€.) JVMμμ λμνλ λ°μ΄νΈ μ½λ(.class)κ° μμ±λλ€. μ΄ λ μμ€ νμΌκ³Ό λ°μ΄νΈ μ½λλ κ°κ° νλ‘μ νΈ λ΄μ src ν΄λμ bin ν΄λ μμ μμΉνλ€. μ΄ν λ°μ΄νΈ μ½λλ₯Ό μ€ννλ©΄ JVMμ OSμμ λ©λͺ¨λ¦¬λ₯Ό ν λΉλ°μ μλ° νλ‘κ·Έλ¨μ μ€ννλ€.
JVMμ λ©λͺ¨λ¦¬λ₯Ό ν¬κ² method, stack, heap μμμΌλ‘ λλ μ¬μ©ν¨μΌλ‘μ¨ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νλ€. μ΄ μ€ method μμμλ class μμ, static μμ, final(μμ) μμμ΄λΌκ³ λ λΆλ₯΄λλ°, λ©λͺ¨λ¦¬ ν λΉ μ΄ν μ€ν νμΌμΈ λ°μ΄νΈ μ½λκ° λ©λͺ¨λ¦¬μ λ©μλ μμμ λ‘λ©λλ€.
ν΄λμ€ λ΄μ ν¬ν¨λΌ μλ main() λ©μλλ₯Ό μ€ννλ κ²μ JVMμ μν λ‘, main() λ©μλκ° μλ° νλ‘κ·Έλ¨μ μμμ΄μ λ μ§μ μ΄λΌλ λ»μ΄κΈ°λ νλ€.
2. μμ€ μ½λ κΈ°λ³Έ ꡬ쑰
/*
μ¬λ¬μ€ μ£Όμ
*/
package exam01; // package μ μΈλΆ
// νμ€ μ£Όμ
public class Test { // class μ μΈλΆ
public static void main(String[] ar) { // main() method
System.out.println("μ½μ νλ©΄ μΆλ ₯"); // νλ©΄ μΆλ ₯ μ½λ
}
}
1) μ£Όμ : λ©λͺ¨ κΈ°λ₯μ μννλ©°, μ»΄νμΌ λ λ μ μΈλλ―λ‘ μ€ν μ체μ μλ¬΄λ° μν₯μ λ―ΈμΉμ§ μλλ€.
μ€ μ | νμ | λ¨μΆν€ |
1μ€ | // μ£Όμ λ΄μ© | ctrl + / |
2μ€ μ΄μ | /* μ£Όμ λ΄μ© */ | ctrl + shift + / |
2) ν¨ν€μ§ μ μΈλΆ
ν¨ν€μ§λ₯Ό μ§μ νλ©΄ μ£Όμμ μ μΈν 첫 μ€μ ν¨ν€μ§μ μ μΈμ΄ μμΌνλ€. ν¨ν€μ§λ₯Ό μ§μ νμ§ μμμ λ(λν΄νΈ ν¨ν€μ§λ₯Ό μ¬μ©ν λ)λ μ΄ μ μΈμ΄ μλ΅λλ€. μ μμ μμλ exam01 ν¨ν€μ§ μμ μμ€ νμΌμ΄ μμΉνκ³ μλ€.
3) ν΄λμ€ μ μΈλΆ
μ μμ μμ public class Test μ€ class Testλ ν΄λμ€λͺ μ΄ TestλΌλ κ²μ λνλ΄λλ°, μ΄ λ ν΄λμ€λͺ μ μμ€ νμΌλͺ κ³Ό μΌμΉν΄μΌλ§ νλ€. λ°λΌμ ν΄λΉ μμ€ νμΌλͺ μ Test.javaμ¬μΌ νλ€.
κ·Έλ¦¬κ³ ν΄λμ€ λͺ λ€μλ μ€κ΄νΈκ° μ€λλ°, μ΄ λ΄λΆμλ ν΄λμ€μ λ΄λΆμ ν¬ν¨λ μ μλ λ΄λΆ ꡬμ±μμ (field, method, constructor(μμ±μ), inner class)κ° μμΉν΄μλ€. μ΄ λ΄λΆ ꡬμ±μμλ§μ΄ ν΄λμ€ μμ μμ μ μλ€. μ΄ μμ μμλ main() λ©μλκ° μμμ λ³Ό μ μλ€.
4) main() λ©μλ
λ©μλμ ꡬ쑰λ 'λ¦¬ν΄ νμ λ©μλλͺ (~) {}'μ ννλ‘, public static void main(String[] ar) μμ 리ν΄(λ°ν) νμ μ void, λ©μλλͺ μ mainμ΄λ€. λ©μλ μν μμ μμΉν public staticμ λ©μλλ₯Ό κΎΈλ©°μ£Όλ μμμ΄ μ·¨κΈ μ λλ‘, public staticν λ©μλλ‘ μ΄ν΄ν μ μλ€.
μ°Έκ³ λ‘ λ°μ΄νΈ μ½λ(.class)κ° λ©μλ μμμ λ‘λ©λλ©΄ JVMμ main() λ©μλλΆν° μ°ΎκΈ° λλ¬Έμ κ°μ₯ λ¨Όμ μ€νλλ λ©μλμ΄λ€.
3. μμ€ νμΌ μ»΄νμΌκ³Ό λ°μ΄νΈ μ½λ μμ±
1κ°μ μμ€ νμΌμλ μ¬λ¬ κ°μ ν΄λμ€ νμΌμ΄ ν¬ν¨λ μ μλλ°, ν΄λμ€ λͺ κ³Ό νμΌ λͺ μ΄ κ°μμΌλ§ νλ μ¬λ¬ ν΄λμ€ νμΌ μ€ public ν΄λμ€ λͺ κ³Ό νμΌ λͺ μ μΌμΉμν€λ©΄ λλ€. μ΄ λλ¬Έμ νμΌ 1κ° λΉ public ν΄λμ€λ 1κ°λ§ μ‘΄μ¬νλ€.
μμ€ νμΌμ μ»΄νμΌν λ, ν΄λμ€ νλ λΉ λ°μ΄νΈ μ½λ(.class)κ° νλμ© μμ±λλ€. μ¦ μμ€ νμΌ(.java)κ° νκ°μ¬λ ν΄λμ€κ° 100κ° μ μ λμ΄ μλ€λ©΄ λ°μ΄νΈ μ½λλ 100κ°κ° μμ±λλ€.
package sec01_basicsyntax.EX02_ByteCodeFiles;
class A { // A.class
}
class B { // B.class
}
class C { // C.class
class D { // C$D.class
}
}
public class ByteCodeFiles { // ByteCodeFiles.class
public static void main(String[] args) {
}
}
λ°λΌμ μ μμ μμλ 4κ°μ ν΄λμ€ νμΌμ΄ μκΈ°κ² λλ€. μ΄ λ class C μμ μλ class Dμ κ²½μ°λ ν΄λμ€ λ΄λΆμ ν¬ν¨λμ΄ μκΈ° λλ¬Έμ μ΄λ ν΄λμ€, class Cλ μμ°ν° ν΄λμ€λΌκ³ νλ€. μ΄λ ν΄λμ€ Dλ μμ μ κ°μΈκ³ μλ ν΄λμ€ CλΆν° ννν΄μΌ νλλ°, 'class C μμ class D' κ°μ μλ―Έλ₯Ό λ΄κ³ μμ΄μΌ νλ€. λλ¬Έμ μ΄λ ν΄λμ€μ λ°μ΄νΈμ½λλ 'μμ°ν° ν΄λμ€$μ΄λ ν΄λμ€.class'κ°μ΄ μμ±λκ³ , class Dλ 'D.class'κ° μλ 'C$D.class'μ κ°μ΄ ννλλ€.
4. μ½μ μΆλ ₯ λ©μλμ λ¬Έμμ΄ μΆλ ₯
1) λ¬Έμμ΄ μΆλ ₯
: λ¬Έμμ΄μ String μλ£νμΌλ‘ μ μ₯λλ©°, λ°λμ κ°μ ν°λ°μ΄ν("")μμ νκΈ°ν΄μΌ νλ€. λ¬Έμμ΄+λ¬Έμμ΄μ΄λ λ¬Έμμ΄+κΈ°λ³Έ μλ£νμ λ¬Έμμ΄μ΄ λλ€.
2) System.out.println()
: μ΄ν΄λ¦½μ€μμλ sysout μ λ ₯ ν + ctrl + spacebar μ λ¨μΆν€λ‘ λΆλ¬μ¬ μ μμΌλ©°, μ΄λ μΆλ ₯ ν μ€λ°κΏμ ν΄μ£Όλ λ©μλμ΄λ€.
- System.out.print() : μ€λ°κΏ(κ°ν) μμ΄ κ·Έλ₯ μΆλ ₯λ§ ν΄μ£Όλ λ©μλ
- System.out.printf() : μ§μμλ₯Ό ν΅ν΄ λ³μμ κ°μ μ¬λ¬ κ°μ§ νμμΌλ‘ λ³ννμ¬ μΆλ ₯ν μ μλ λ©μλλ‘, κΈ°λ³Έμ μΌλ‘ κ°νμ λͺ»νλ€. cμΈμ΄μμλ κΈ°λ³Έμ μΌλ‘ μ°μ΄λ λ©μλμ΄λ€.κΈ°λ³Έ νμμ System.out.printf("μΆλ ₯ ν¬λ§·", μΈμ, μΈμ, ...)μ ννλ‘, μΆλ ₯ ν¬λ§· λ΄μ %λ‘ μμνλ μμΉλ μΈμλ‘ κ°μ΄ λμ΄μ€λ μμΉλ€.
-
μ§μμ %b %d %o %x %f %c %s μΆλ ₯ νμ boolean 10μ§μ μ μ 8μ§μ μ μ 16μ§μ μ μ μμμ νμ λ¬Έμ λ¬Έμμ΄ - %fλ‘ μΆλ ₯ν κ²½μλ '%μ 체 μλ¦Ώμ + . + μμμ μλ¦Ώμ + f'λ‘ ννν΄ μ ννν μ μλ€. μλ₯Ό λ€λ©΄ %4.2fλ μ 체 μλ¦Ώμλ 4κ°, μμμ μλλ λ°μ¬λ¦Όνμ¬ 2μ리κΉμ§ νννλ€.
3) λ³μμ λ£μ΄ μΆλ ₯νκΈ°
: int μλ£νμ λ³μ age, String μλ£νμ λ³μ addrμ λ¨Όμ μ μΈνκ³ , μλ μμ μ κ°μ΄ μκ΄νΈ μμ λ°μ΄ν μμ΄ κ·Έλ₯ λ³μλ₯Ό λ겨주면 λ³μ μμ κ°μΌλ‘ λ체λμ΄ μΆλ ₯λλ€.
public class Printf {
public static void main(String[] args) {
int age = 10;
String addr = "κ²½κΈ°λ";
//'%n'μ§μμλ₯Ό μ¬μ© μ νμ κ²½μ°
System.out.print("μ€λ°κΏ");
System.out.print("μμ");
System.out.printf("μ€λ°κΏ κΈ°λ₯");
System.out.printf("μμ.");
//'%n'μ§μμλ₯Ό μ¬μ©ν κ²½μ°
System.out.printf("μ€λ°κΎΈκΈ°%n");
System.out.printf("μ±κ³΅!%n");
System.out.printf("λ΄ λμ΄λ %dμ΄ μ
λλ€.%n",age);
System.out.printf("λ΄ λμ΄λ %dμ΄ μ΄κ³ %sμ μ΄κ³ μμ΅λλ€.%n",age,addr);
System.out.println("λ΄ λμ΄λ " + age + "μ΄");
System.out.println("κ±°μ£Όμ§λ " + addr);
}
} // μ½λ μΆμ² : https://keep-cool.tistory.com/15
'java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
2μ₯. μλ£ν (0) | 2022.01.28 |
---|