1κ°. Javaμ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°
- Java μΈμ΄μ νΉμ§
C/C++κ³Ό μ μ¬νλ λ¨μν¨
νλ«νΌμ λ 립μ : Java νλ«νΌλ§ μλ€λ©΄ μ΄μ체μ μ 무κ΄νκ² μμ νμ§ μκ³ μ€νμ΄ κ°λ₯νλ€λ μλ―Έ-μ€ννκ²½μ Java μΈμ΄κ° ν¬ν¨νκ³ μλ€λ λ»μ΄κΈ°λ ν¨
μμ ν κ°μ²΄μ§ν₯ μΈμ΄: C++μ κ²½μ° νμ΄λΈλ¦¬λ κ°μ²΄μ§ν₯ μΈμ΄λ‘ κ°μ²΄μ§ν₯ μ€νμΌλ‘λ, μ μ°¨μ  μ€νμΌλ‘λ νλ‘κ·Έλλ°ν μ μλ λ°λ©΄ Javaμ κ²½μ° κ°μ²΄μ§ν₯ μ€νμΌλ‘λ§ μ½λλ₯Ό μμ±ν μ μμ. μ¦ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μμμ μ£Όμ κ°λ μ μ΄ν΄νκ³ μμ΄μΌ ν¨
β objective programmingμ΄λ?
μΉ/λ€νΈμν¬ νλ‘κ·Έλλ°μ΄ μ©μ΄: ν΄λΌμ΄μΈνΈ μλ² νλ‘κ·Έλ¨ λ±μ μμ±νκ³ μ ν λ μ μ©ν νλΆν λΌμ΄λΈλ¬λ¦¬λ₯Ό μ 곡
μ격ν μλ£ν κ²μ¬: λ³μλ₯Ό μ¬μ©νκ³ μ ν λ μλ£ν λΆμΌμΉλ‘ μΈν μ€λ₯μ λ°μ μμ§λ₯Ό λ―Έμ°μ μ°¨λ¨ν μ μλ€λ μ΄μ 
μμΈμ²λ¦¬ κΈ°λ₯ μ 곡: μμΈλ 볡ꡬ κ°λ₯ν κ²½λ―Έν μλ¬λ₯Ό κ°λ¦¬ν€λ―λ‘, μ΄λ μμΈμ²λ¦¬ κΈ°λ₯μ΄λ μμΈκ° λ°μνλλΌλ μ μ μνλ‘ λλ € λ¬Έμ μμ΄ μ€ν κ°λ₯ν κΈ°λ₯μ κ°λ¦¬ν΄
λ©ν° μ€λ λ© μ§μ: νλμ νλ‘μΈμ€ λλ νλ‘κ·Έλ¨ μμ μ‘΄μ¬νλ λ 립μ μΈ μμ νλ¦μ μ€λ λλΌκ³ νλ©°, μλ°μμλ μ¬λ¬ κ°μ λ λ¦½μ  νλ¦μ λμμ μ€νν μ μμ
- λ°μ΄νΈ μ½λ(ν΄λμ€ νμΌ, .class)
Java μμ€λ₯Ό μ»΄νμΌν κ²°κ³Όλ¬Ό
Java νλ«νΌμ Java VM(κ°μλ¨Έμ )μμ μ€ν κ°λ₯ν μ½λμ΄μ§λ§, μ΄μ체μ μμ μμ±λλ μ½λλ μλλ―λ‘ μ격ν μλ―Έμμ κΈ°κ³μ΄λ μλλ€ - write once, run anywhere
ν΄λμ€ νμΌ: Javaλ μμ ν κ°μ²΄μ§ν₯ μΈμ΄μ΄λ―λ‘ Javaλ‘ μ½λ©νλ€λ κ²μ κ³§ ν΄λμ€λ₯Ό λ§λλ κ²
- μ ν리μΌμ΄μ κ³Ό μ νλ¦Ώ
μ ν리μΌμ΄μ : Java νλ«νΌμμ μ€νλλ νλ‘κ·Έλ¨μΌλ‘ μ€νμ μν΄ main() ν¨μκ° νμν¨
μ νλ¦Ώ: THML μΉ νμ΄μ§μ ν¬ν¨λμ΄ λΈλΌμ°μ λ₯Ό ν΅ν΄ μ€ν
<APPLET CODE = "HelloApplet.class" WIDTH = 200 HEIGHT = 100> </APPLET>λ§μ½ μμ κ°μ μ½λκ° ν¬ν¨λ html νμΌμ΄ μλ€λ©΄ μ½λ μ .class νμΌλ μ»΄νμΌν¨. λ€λ§ μ νλ¦Ώμ μ΅κ·Όμλ μ μ°μ΄μ§ μλ λ°©μμΌλ‘, μ΅μ€νλ‘λ¬ μΈμ λΈλΌμ°μ μμλ μ§μνμ§ μκ² λμμ
- Java νλ«νΌ
νλ«νΌμ΄λ νλ‘κ·Έλ¨μ μ€ννκ³ μ νλ HW/SW νκ²½μ΄λ―λ‘ Java νλ«νΌμ Java νλ‘κ·Έλ¨μ κ°λ°/μ€ννκΈ° μν νκ²½
μ΄μ체μ μ λ§λ Java platformμ μ€μΉνμ¬μΌ ν¨
νλ«νΌ ꡬμ±μ Java VM + Java API
Java VM: Java νλ‘κ·Έλ¨μ μ€ννκ²½μ μ 곡νλ κ°μλ¨Έμ μΌλ‘, νλ‘κ·Έλ¨μ ꡬλνκΈ° μν μμ§μ΄λΌκ³ λ³Ό μ μμ. μ€νμ νμν λͺ¨λ μ¬νμ κ΄λ¦¬ λ° μ§μνκ³ , GC(garbage collection)λ₯Ό μλμΌλ‘ μνν¨(Cμμμ mallocκ³Ό κ°μ κΈ°λ₯μ VMμ΄ ν΄ μ£Όκ³ μμΌλ―λ‘ κ°λ° μμ μ ν¬κ² μ κ²½μ°μ§ μμλ λλ κ²μ΄ μ₯μ )
Java API: νλ‘κ·Έλ¨ κ°λ°μ νμν ν΄λμ€ λΌμ΄λΈλ¬λ¦¬λ‘, ν΄λμ€μ λ¬Άμ(ν¨ν€μ§)μ΄ κ³μΈ΅ κ΅¬μ‘°λ‘ λΆλ₯λμ΄ μμ
β λ μμ§λ APIμ κ°λ μ μ ννκ² λͺ¨λ₯΄κ² μ
- JDKμ eclipse
Java ννμ΄μ§μμ λ€μ΄λ‘λλ°μ μ€μΉ β νκ²½λ³μ κ²½λ‘ μμ  β νκ²½λ³μ JAVA_HOME μμ±
#path μμ   c:/Program Files/Java/jdk-ver./bin μΆκ°   #java_home μμ± c:/Program Files/Java/jdk-ver. λμ
eclipse: κ°μ₯ μΌλ°μ μΈ Java κ°λ° ν΄
- main()μ νμ
public class Hello { //public classλ νμΌμ μ΅λ 1κ°κΉμ§ μ‘΄μ¬ 	public static void main(String[] args) { //main methodμ νμ 	/* μ¬λ¬ μ€λ‘ μ£Όμ μ²λ¦¬λ₯Ό ν  μ μμ */ 	System.out.printIn("Hello, World!"); 	} }/** μ΄ μμ λ΄μ©μ μμ±ν΄μ javadocμ μ΄μ©ν API λ¬Έμλ₯Ό λ§λ€ μ μμ*/- ν΄λμ€: νΌλΈλ¦ ν΄λμ€/νΌλΈλ¦μ΄ μλ ν΄λμ€public classλ νμΌμ μ΅λ 1κ°λ‘, νΌλΈλ¦ ν΄λμ€κ° μ‘΄μ¬νλ€λ©΄ ν΄λΉ νμΌμ λ€λ₯Έ μ΄λ¦μΌλ‘λ μ μ₯ν μ μκ³ λ°λμ βPublicClassName.javaβ νμΌλͺ μΌλ‘λ§ μ μ₯ν μ μμ
- μΆλ ₯κ³Ό μ€ννμ€μΆλ ₯ System.out νμ€μΆλ ₯μ λ΄λΉνλ κ°μ²΄λ‘, print() λλ printIn()μ μνν¨. λ°λμ System.out.print(βstringsβ); ννλ‘ μ°μ¬μΌ ν¨μ»΄νμΌ λͺ λ Ήμ΄
- μ΄λ ν κ°μ²΄λ₯Ό ν΅ν΄ ν¨μκ° μ€νλλμ§λ₯Ό λ°ν μ£Όμ΄μΌ νκΈ° λλ¬Έ
//Hello.javaλ‘ μ μ₯ javac Hello.java βClassName.javaβκ° λ§λ€μ΄μ§.  java Hello // Hello classμμ main() λ©μλκ° μ€νλ¨ - ν΄λμ€μ κ°μ²΄
μΆμν μ νμ μ΄κ³ νμν μΌλΆλ§μ λ°μ·νμ¬ μ¬λ¬Όμ μ΄ν΄, νννλ κ²
ν΄λμ€ κ°μ²΄λ₯Ό λ§λ€κΈ° μν λͺ¨νμ΄λ ν. λ¬Έμ  μμ μμ μ‘΄μ¬νλ μ¬λ¬ κ°μ²΄λ₯Ό 곡ν΅μ νΉμ§μ κ°μ§λ μ’ λ₯λ³λ‘ λΆλ₯ν λ€μ μΆμννκ³ μ νλ μλ¨μ ν΄λμ€λΌκ³ ν¨
κ°μ²΄μ μνλ νλ(λ°μ΄ν°)λ‘, νμλ λ©μλλ‘ κ΅¬ν(ν΄λμ€μ μΊ‘μν)λ¨. μ¦ μν:νμ = νλ(λ°μ΄ν°):λ©μλ - βμ΄ λ°μ΄ν°λ μ΄λ€ λμμ ν μ μλκ°?β
κ°μ²΄λ νΉμ  ν΄λμ€μ μΈμ€ν΄μ€(ν΄λμ€κ° μ€μ²΄νν κ²μ μΈμ€ν΄μ€λΌ ν¨)
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμλ ν΄λμ€ μ μλ‘λΆν° κ°μ²΄λ€μ΄ λ§λ€μ΄μ§κ³ , νλ‘κ·Έλ¨μ μ΄ κ°μ²΄λ€ κ°μ μνΈμμ©μΌλ‘ λμ
//Cλ μ μ°¨μ  νλ‘κ·Έλ° μΈμ΄ //νλ‘κ·Έλ¨μ κΈ°λ³Έ κ΅¬μ± λ¨μλ ν¨μ  //μ μλ³μ μ μΈ int e[2]; //english int m[2]; //mathmatics  //main function: λ νμμ μμ΄, μν μ±μ μ μ
λ ₯λ°μ void input_grade(){ 	e[0] = 90; 	e[1] = 80; 	e[0] = 85; 	m[1] = 80; }  void output_grade(){ 	printf("%d, %d", e[0] + m[0], e[1]+m[1]); }  void main(void){ 	input_grade(); 	output_grade(); 	}
//Javaλ κ°μ²΄μ§ν₯ μΈμ΄  //λ°λΌμ λ¨Όμ  classλ₯Ό μ μΈ  class Grade { 	int e;  	int m;  	void output_grade() { 		System.out.printIn(e+m); 	} }  public class GradeOutput{ 	public static void main(String args[]){ 		Grade g1, g2; 		g1 = new Grade(); // κ°μ²΄ μμ± 		g2 = new Grade(); 		g1.e = 90; g1.m = 85; // κ° κ°μ²΄μ μ μλ₯Ό λμ
  		g2.e = 90; g2.m = 80;  		g1.output_grade(); 		g2.output_grade(); 	} }
Uploaded by Notion2Tistory v1.1.0