ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA μ΄ν΄λ¦½μŠ€μ—μ„œ μžλ°” μ‹œμž‘ν•˜κΈ°
    JAVA 2020. 7. 27. 23:10

    🎯 μžλ°”μ˜ κ°œμš”λ₯Ό μ•Œμ•„λ³΄κ³  HelloWorldλ₯Ό 좜λ ₯ν•΄λ³Έλ‹€.

     


    πŸ”– λͺ©μ°¨

    μžλ°” μ–Έμ–΄μ˜ νŠΉμ§•

    이클립슀 μ‹œμž‘ν•˜κΈ°  

    ν”„λ¦°νŠΈ ν•¨μˆ˜ μ‚΄νŽ΄λ³΄κΈ°


     

     

    μžλ°” μ–Έμ–΄μ˜ νŠΉμ§•

    ν”Œλž«νΌμ΄ 독립적이닀

    μžλ°”λŠ” μš΄μ˜μ²΄μ œμ— 영ν–₯을 받지 μ•ŠλŠ”λ‹€. μ–΄λ–»κ²Œ κ°€λŠ₯ν• κΉŒ? μ˜ˆμ „μ—λŠ” 각 μš΄μ˜μ²΄μ œμ— 맞게 ν”„λ‘œκ·Έλž¨μ„ λ”°λ‘œ λ§Œλ“€μ–΄μ•Όν–ˆλŠ”λ°, μžλ°”λŠ” μ„œλ‘œ λ‹€λ₯Έ μš΄μ˜μ²΄μ œμ—μ„œ ν”„λ‘œκ·Έλž¨μ„ λ˜‘κ°™μ΄ μ‚¬μš©ν•  수 μžˆλ„λ‘ μžλ°”κ°€μƒλ¨Έμ‹ (JVM)을 μ œκ³΅ν•œλ‹€. κ·Έ μœ„μ— μžλ°”κ°œλ°œμžλ„κ΅¬(JDK)λ₯Ό μ‚¬μš©ν•΄μ„œ μ‹€ν–‰ν™˜κ²½μ— 상관없이 λ™μž‘ν•˜λŠ” μžλ°” ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€ 수 μžˆλ‹€. 

    κ°„λ‹¨ν•œ μ½”λ“œ μž‘μ„± κ°€λŠ₯

    cμ–Έμ–΄μ—μ„œ 포기λ₯Ό 많이 ν•˜λŠ” 뢀뢄이 포인터 파트인데 μžλ°”λŠ” ν¬μΈν„°λΌλŠ” κ°œλ…μ΄ μ—†λ‹€. 

    객체지ν–₯ μ–Έμ–΄λ‹€

    λ‹€λ₯Έ 객체(사물 및 λŒ€μƒ)와 μƒν˜Έμž‘μš©ν•  수 μžˆλŠ” μž¬μ‚¬μš© κ°€λŠ₯ν•œ 객체λ₯Ό μ΄μš©ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•œλ‹€.

    κ°μ²΄λŠ” 객체λ₯Ό 잘 ν‘œν˜„ν•  수 μžˆλŠ” 속성(attribute)κ³Ό λ™μž‘(operation)을 κ°–λŠ”λ‹€.

    ν˜„μ‹€μ„Έκ³„μ— μ‘΄μž¬ν•˜λŠ” 객체 및 관계λ₯Ό κ°€μƒμ„Έκ³„λ‘œ λ°˜μ˜μ‹œμΌœ κ°œλ°œν•˜λŠ” 방법둠이닀.

     

     

    μ•„λž˜ μ„Έ 가지 κ°œλ°œν”Œλž«νΌμ—μ„œ λ™μž‘κ°€λŠ₯ν•œ ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•  수 μžˆλ‹€.

    πŸ–₯ Java Standard Edition (Java SE) : μ»΄ν“¨ν„°μ—μ„œ μ‹€ν–‰λ˜λŠ” μ‘μš©ν”„λ‘œκ·Έλž¨ 개발 

    πŸ—ƒ Java Enterprise Edition (Java EE) : μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈ μΈ‘ λΆ„μ‚° ν”„λ‘œκ·Έλž¨ 개발 

    πŸ“± Java Micro Edition (Java ME) : λͺ¨λ°”일 및 μž„λ² λ””λ“œ 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발

     

     

    JAVA SE JDK ꡬ쑰

     

     


    이클립슀 μ‹œμž‘ν•˜κΈ°

    λ‹€μš΄λ‘œλ“œ νŽ˜μ΄μ§€  πŸ‘‰  https://www.eclipse.org/downloads/

     

    Eclipse Downloads | The Eclipse Foundation

    The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 375 open source projects, including runtimes, tools and frameworks.

    www.eclipse.org

     

    Download Packages 클릭

     

    μš΄μ˜μ²΄μ œμ— λ§žλŠ” 버전을 μ„€μΉ˜ν•œλ‹€.

     

    μ•žμœΌλ‘œ μžλ°”κΈ°μ΄ˆ, μŠ€ν”„λ§, JSP 진행에 λ”°λΌμ„œ λ‹€λ₯Έ λ²„μ „μ˜ 이클립슀λ₯Ό λ‹€μš΄λ°›μ•„ μ“Έ μ˜ˆμ •μ΄λ‹€.

     

     

    ν•œκΈ€μ„€μ •

    이클립슀 μ‹œμž‘ν•˜λ©΄ 항상 ν•œκΈ€μ„€μ •μ„ λ¨Όμ € ν•΄μ€€λ‹€. ν•œκΈ€μ΄ κΉ¨μ§€λŠ” κ²½μš°κ°€ μ’…μ’… 있기 λ•Œλ¬Έμ΄λ‹€. `window - preferences` μ„€μ • 창을 μ—΄μ–΄μ€€λ‹€.

    Workspace μ„€μ •μ—μ„œ Text file encoding을 Other : UTF-8둜 μ„€μ •ν•œλ‹€.

     

    μžλ°” API

    https://docs.oracle.com/javase/8/docs/api/

    μžλ°” 빌트인 클래슀 파일 μ„€λͺ…λ¬Έμ„œ.

    이미 μ œκ³΅λ˜λŠ” μœ μš©ν•œ ν΄λž˜μŠ€λ“€μ— λŒ€ν•œ μ‚¬μš© 방법을 λ¬Έμ„œν™” ν•˜μ—¬ μ œκ³΅ν•΄μ£ΌλŠ” 도움말과 같은 것이닀.

    클래슀λ₯Ό 열어보면 λ¬Έμ„œ μ•ˆμ— λ©”μ†Œλ“œκ°€ μ ν˜€μžˆλ‹€.

     

     

    폴더 ꡬ성

     

    JAVAλ₯Ό μ—°μŠ΅ν•  폴더 μœ„μΉ˜λŠ” Cλ“œλΌμ΄λΈŒ μ•ˆμ— workspaceλΌλŠ” ν΄λ”λ‘œ μ§€μ •ν–ˆλ‹€.

     


    μƒˆλ‘œμš΄ ν”„λ‘œμ νŠΈ μƒμ„±ν•˜κΈ°

    File - New - Java Project >> HelloWorld λΌλŠ” μ΄λ¦„μ˜ μƒˆ ν”„λ‘œμ νŠΈ λ§Œλ“€κΈ°.

     

    next > finish

     

    클래슀 파일 생성

    new - class

     

    이 클래슀 파일의 이름이 클래슀 이름이 λœλ‹€.

    μœ„μΉ˜λŠ” workspace에 λ§Œλ“€μ–΄μ§„ ν”„λ‘œμ νŠΈλͺ… μ•„λž˜ src ν΄λ”λ‘œ μžλ™μ„€μ • λœλ‹€.

    public static void main ν•¨μˆ˜λ₯Ό μ²΄ν¬ν•˜λ©΄ μžλ°” 기본문을 μžλ™μœΌλ‘œ 생성해쀀닀.

     

     

    클래슀 이름은 지정해쀀 HelloWorld둜 μ„€μ •λ˜μ—ˆλ‹€.

    ν”„λ‘œκ·Έλž¨μ˜ μ‹œμž‘μ μ€ main ν•¨μˆ˜λΆ€ν„°λ‹€.  4번 라인뢀터 7번 λΌμΈκΉŒμ§€κ°€ μžλ°”κ°€ μ‹€ν–‰ν•  ν”„λ‘œκ·Έλž¨ μ½”λ“œλ‹€.

    // Hello World 좜λ ₯ν•˜κΈ°
    
    System.out.println("hello world!");

    μžλ°” μ½”λ“œ μž‘μ„± μ‹œ λŒ€μ†Œλ¬Έμžλ₯Ό μ •ν™•νžˆ ꡬ뢄해야 ν•œλ‹€.

    ν”„λ‘œκ·Έλž¨ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄ .java ν˜•μ‹μœΌλ‘œ ν•˜λ‚˜μ˜ 파일이 λ§Œλ“€μ–΄μ§„λ‹€.

     

    컴파일 κ³Όμ •

     

    μžλ°” μ†ŒμŠ€μ½”λ“œλΌλŠ” .java λ¬Έμ„œλŠ” μ‚¬λžŒλ§Œ μ•Œμ•„λ³Ό 수 μžˆλ‹€. 이걸 컴퓨터가 μ•Œμ•„λ“£λ„λ‘ λ°”μ΄νŠΈ μ½”λ“œ 파일둜 λ§Œλ“œλŠ” 과정이 μ»΄νŒŒμΌμ΄λ‹€. 이 μ»΄νŒŒμΌμ„ λ„μ™€μ£ΌλŠ” 도ꡬλ₯Ό 컴파일러(java.exe)라고 λΆ€λ₯΄λ©°, λ°”μ΄νŠΈ μ½”λ“œ νŒŒμΌμ„ μ‹€ν–‰ν•  수 있게 컴퓨터에 λ²ˆμ—­ν•΄μ£ΌλŠ” 역할을 인터프리터(java.exe)κ°€ ν•œλ‹€.

    Run λ˜λŠ” F11 ν‚€λ₯Ό λˆŒλŸ¬μ„œ μ»΄νŒŒμΌμ„ μ‹€ν–‰ν•  수 μžˆλ‹€. μ»΄νŒŒμΌμ„ 톡해 bin 폴더에 μžλ°” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄λΌλŠ” .class 파일이 μƒμ„±λœλ‹€. μ»΄ν“¨ν„°λŠ” 이 νŒŒμΌμ„ 가지고 ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•œλ‹€.

     


    ν”„λ¦°νŠΈ ν•¨μˆ˜ μ‚΄νŽ΄λ³΄κΈ°

    public class HelloTest1 {
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		System.out.println("helloworld");  //좜λ ₯ν›„ μžλ™ 쀄변경
    		System.out.print("aaaa");  //ν•œμ€„μΆœλ ₯
    		System.out.print("bbbb\n");  //ν•œμ€„μΆœλ ₯+μ€„λ°”κΏˆ
    		System.out.printf("%d, %s, %c", 1110, "abcd", 'c');  //κ°’μ˜ λŒ€μž…
    	}
    	
    }

    println : λ‚΄μš©μ„ 좜λ ₯ ν›„ μžλ™μœΌλ‘œ 쀄을 λ³€κ²½ν•œλ‹€.

    print : ν•œμ€„μ— μ΄μ–΄μ„œ 좜λ ₯λœλ‹€.

    printf : λͺ‡κ°œμ˜ 값을 넣을건지, νƒ€μž…κΉŒμ§€ μ¨μ£ΌλŠ”ν˜•νƒœ. μžλ¦Ώμˆ˜μ™€ λ°μ΄ν„°νƒ€μž…μ΄ μΌμΉ˜ν•΄μ•Ό ν•œλ‹€.

        %d : 이 μžλ¦¬λŠ” 숫자(digit)κ°€ λ“€μ–΄κ°„λ‹€

        %s : λ¬Έμžμ—΄(string) 자리

        %c : 문자 ν•œκΈ€μž(character) >> ν•œκΈ€μžλŠ” μž‘μ€λ”°μ˜΄ν‘œλ₯Ό μ‚¬μš©ν•œλ‹€.

        %.2f : fλŠ” μ†Œμˆ˜μ  ν”Œλ‘œνŒ…(float) 포인트λ₯Ό λ§ν•˜λŠ”λ° .2λŠ” μ†Œμˆ˜μ  κΈ°μ€€μœΌλ‘œ λͺ‡μžλ¦¬λ₯Ό ν‘œμ‹œν•΄μ£ΌλŠ” μ˜λ―Έλ‹€. λ§Œμ•½ μž…λ ₯ν•œ 데이터가 μ†Œμˆ˜μ  3자리면 2자리둜 λ°˜μ˜¬λ¦Όν•΄μ€€ κ²°κ³Όλ₯Ό 좜λ ₯ν•œλ‹€.

        %b : λ…Όλ¦¬μ—°μ‚°μž(boolean) ν˜•νƒœ. true false μ†Œλ¬Έμžλ‘œ μ¨μ•Όν•œλ‹€.

     

    // error
    
    System.out.println("κΉ€μˆ˜ν˜„", 2020, "남");
    
    
    // right
    
    System.out.println("κΉ€μˆ˜ν˜„, 2020, 남");
    System.out.println("κΉ€μˆ˜ν˜„, " + 2020 + ", 남");

    ν”„λ¦°νŠΈ ν•¨μˆ˜ μ•ˆμ—μ„œ μ„œλ‘œ λ‹€λ₯Έ 데이터 νƒ€μž…μ„ μ—°κ²°ν•  땐 + μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.

     

    System.out.println(2011+2012+" ");
    System.out.println(" "+2011+2012);
    
    //λ¬Έμžμ—΄ 좜λ ₯

    1) μˆ«μžλ“€μ΄ λ¨Όμ € κ³„μ‚°λ˜κ³  뒀에 곡백이 λΆ™λŠ”λ‹€. -> 4023  

    2) λ¬Έμžμ—΄μ˜ μ‘°ν•©μœΌλ‘œ μΈμ‹λ˜μ–΄ κ·ΈλŒ€λ‘œ 좜λ ₯λœλ‹€. ->  20112012

     

     

     

    😜 NEXT : μžλ°” μ‹λ³„μžμ™€ 데이터 ν˜• κ³΅λΆ€ν•˜κΈ°

    λ°˜μ‘ν˜•

    λŒ“κΈ€

κ°œλ°œκ³΅λΆ€