ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [TIL] - 230705 ์ž๋ฐ” ์ œ์–ด๋ฌธ, ์บก์Šํ™”, ๋ฐ˜๋ณต๋ฌธ, ๋ฐฐ
    TIL 2023. 7. 5. 18:09
    ๋ฐ˜์‘ํ˜•

    # kb IT's your life 4๊ธฐ

    ๐Ÿ“ŒFacts

    Test class(main)์˜ ์—ญํ• 

    1. ๊ฐ์ฒด ์ƒ์„ฑ: class์˜ ๋ฉค๋ฒ„๋“ค ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋”ฉ
    2. ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผ: ์‚ฌ์šฉ
    - ํ•„๋“œ ์‚ฌ์šฉ --> ๊ฐ’ ํ• ๋‹น
    - ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ --> ํ˜ธ์ถœ

    ๋ฐ˜ํ™˜ํƒ€์ž…์ด ์—†์–ด ํ•จ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์„ฑ์ž๋Š” class ๊ตฌ์„ฑ์š”์†Œ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค. 

    - ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์—๋Š” ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ƒ์„ฑ์ž๊ฐ€ ์กด์žฌํ•œ๋‹ค.

    - ๋ช…์‹œ์  ์ƒ์„ฑ์ž๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์„ ๋•Œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ฌด์กฐ๊ฑด ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.

    - ๋งŒ์•ฝ์— ๋ช…์‹œ์  ์ƒ์„ฑ์ž๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์œผ๋ฉด ๊ทธ๋•Œ๋Š” ์ž๋™์œผ๋กœ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ์ •์˜๋˜์ง€ ์•Š๋Š”๋‹ค.

     


    Package

    • package ์„ ์–ธ ๋ถ€๋ถ„์ด ๊ฐ€์žฅ ์ฒ˜์Œ์— ๋‚˜์˜จ๋‹ค.
    • package๋Š” ๋ฌด์กฐ๊ฑด ์†Œ๋ฌธ์ž, ํ‚ค์›Œ๋“œ๋Š” ์ œ์™ธ, .๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ƒ์œ„, ํ•˜์œ„๊ฐ€ ๋‚˜๋‰จ.
    • .class ์‹คํ–‰ํŒŒ์ผ์€ 3๋‹จ๊ณ„ ํŒจํ‚ค์ง• ์•ˆ์— ๋“ค์–ด์žˆ๋‹ค.
    • top level package.server level package.
    • ๋ชจ๋“  class ์ œ์ผ ์ฒ˜์Œ์— ๋‚˜์˜ค๋Š” ๊ฒŒ package, ๊ทธ๋‹ค์Œ import, ๊ทธ๋‹ค์Œ class ๋ถ€๋ถ„์ด ๋‚˜์˜จ๋‹ค.
    •  
    • ์ดํด๋ฆฝ์Šค ํด๋ž˜์Šค ์ž๋™ import: ctrl shift m

     


    Scanner

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

     

    Java Platform SE 8

     

    docs.oracle.com

    ์ฒ˜์Œ default statement๋Š” ๊ผญ ์ฝ์ž. ์ด ์นœ๊ตฌ๊ฐ€ ๋ญ ํ•˜๋Š” ์นœ๊ตฌ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

    ์ด ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ ์ƒ์„ฑ์ž๋ฅผ ๋ณด๋ฉด ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

    1. ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅ: Scanner sc = new Scanner(System.in);
    2. ํŒŒ์ผ์˜ ๊ฐ’์„ ์ž…๋ ฅ: Scanner sc = new Scanner(new File(”input.txt”));

     


    field์™€ ์ง€์—ญ๋ณ€์ˆ˜์˜ ๊ตฌ๋ถ„

    field - ํด๋ž˜์Šค ๋ฐ”๋กœ ์•„๋ž˜

    • ๋ฉ”์„œ๋“œ ๋ธ”๋ฝ ๋ฐ”๊นฅ
    • ๊ธฐ๋ณธ๊ฐ’์„ ๊ฐ€์ง„๋‹ค
    • ์ดˆ๊ธฐํ™” ์•ˆ ํ•˜๊ณ  ์‚ฌ์šฉํ•ด๋„ ์—๋Ÿฌ ์•ˆ๋‚จ!!

    local ๋ณ€์ˆ˜ - ๋ฉ”์„œ๋“œ ๋ธ”๋ฝ ์•ˆ

    • ๊ธฐ๋ณธ๊ฐ’์ด ์—†๋‹ค.
    • ๊ทธ๋ž˜์„œ ์ดˆ๊ธฐํ™”๋ฅผ ๋ฐ˜๋“œ์‹œ ํ•ด์•ผ ํ•œ๋‹ค.
    • ์•ˆ ํ•˜๋ฉด ์—๋Ÿฌ๋‚จ!!!

    ์ œ์–ด๋ฌธ

    • switch์˜ case์•ˆ์˜ break๋ฌธ์€ ์ „์ฒด switch๋ฅผ ๋น ์ ธ๋‚˜๊ฐ€๋„๋ก ํ•œ๋‹ค.
    • switch ๋ณ€์ˆ˜์— ์‹ค์ˆ˜ํ˜•๋งŒ ๋ชป ๋“ค์–ด๊ฐ„๋‹ค!
    • default ๋ถ€๋ถ„์€ if/else๋ฌธ์˜ else์™€ ๋™์ผ!

    ์บก์Šํ™” Encapsulation

    • ํŠน์ •ํ•œ ํด๋ž˜์Šค์˜ ํ•„๋“œ๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์บก์Šํ™”
    • ์บก์Šํ™”: ์™ธ๋ถ€(๋‹ค๋ฅธ ํด๋ž˜์Šค)์—์„œ ํ•„๋“œ์— ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋„๋ก ํ•œ ์žฅ์น˜

     

    ์บก์Šํ™”์˜ ์ด์œ 

    • ๋ฐ์ดํ„ฐ๊ฐ€ ์ œ๋Œ€๋กœ ๋“ค์–ด๊ฐ€๋ ค๋ฉด ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค์ด๋ ‰ํŠธ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ์•ˆ ๋œ๋‹ค.
    • ์•„๋ฌด๋Ÿฐ ์ œ์–ด์žฅ์น˜ ์—†์ด invalid ํ•œ ๊ฐ’์ด destination์— ๊ฝ‚ํžˆ๋ฉด ์•ˆ ๋œ๋‹ค
    ๐Ÿ“Œ Encapsulation ์ž‘์„ฑํ•˜๋Š” source code pattern

    1. private field
    2. public void setXxx(o, o) public Xxx getXxx()
    3. setter๋ฉ”์„œ๋“œ ํ•„๋“œ์ดˆ๊ธฐํ™” ํ•˜๊ธฐ ์ง์ „์— ํƒ€๋‹นํ•œ ๊ฐ’๋งŒ ํ•„๋“œ์— ์ €์žฅ๋˜๋„๋ก ๋ฌธ์žฅ์„ ์ œ์–ดํ•œ๋‹ค.

    ๋ฐ˜๋ณต๋ฌธ: for๋ฌธ๊ณผ while๋ฌธ์„ ์–ด๋–จ ๋•Œ ์‚ฌ์šฉํ• ๊นŒ

    for(์ดˆ๊ธฐํ™”;์กฐ๊ฑด์‹;์ฆ๊ฐ์‹){
    
        //
    
    }
    
    //=====================
    
    ์ดˆ๊ธฐํ™”
    while(์กฐ๊ฑด์‹){
    
        //
        
        ์ฆ๊ฐ์‹
    }

    for๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ: ์‚ฌ์ด์ฆˆ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์„ ๋•Œ, ๋‚ด๊ฐ€ ๋ช‡ ๋ฒˆ ๋Œ๋ ค์•ผ ํ• ์ง€ ์•Œ ๋•Œ

    while๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ:  ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ๋ช‡ ๋ฒˆ ๋Œ๋ ค์•ผ ํ• ์ง€ ๋ชจ๋ฅผ ๋•Œ

     

    break/continue

    break: ๋ฐ˜๋ณต๋ฌธ์„ ์ค‘๋‹จ.

    continue: ๊ฑด๋„ˆ๋›ฐ์ง€๋งŒ ๋๊นŒ์ง€๋Š” ๊ฐ.


    ๋ฐฐ์—ด

    • ๋ฐฐ์—ด์€ ๊ฐ์ฒด๋‹ค→์„ ์–ธํ•˜๋ฉด ์ž๋™์œผ๋กœ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋จ.
    • same data type
    •  
    //์„ ์–ธ ์ƒ์„ฑ ์ดˆ๊ธฐํ™”
    int[] arr; //dataType + ๋ณ€์ˆ˜๋ช…;
    arr=new int[3];
    arr[0]=11; arr[1]=22; arr[2]=33;
    
    //์„ ์–ธ+์ƒ์„ฑ ์ดˆ๊ธฐํ™”
    int[] arr=new int[3];
    arr[0]=11; arr[1]=22; arr[2]=33;
    
    //์„ ์–ธ+์ƒ์„ฑ+์ดˆ๊ธฐํ™”
    int[] arr={11,22,33};

     

    ๐Ÿ“š Findings

    ๊ฐ•์‚ฌ๋‹˜์€ && ๋Œ€์‹ ์— &๋ฅผ ์“ฐ์…”์„œ ๋‘˜์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ๊ฒ€์ƒ‰ํ•ด ๋ณด์•˜๋‹ค.

    https://itbeginner2020.tistory.com/14

     

    & ์™€ && ์˜ ์ฐจ์ด์ ๊ณผ ํ™œ์šฉ์˜ˆ์‹œ

    ์ด ํฌ์ŠคํŒ…์€ if ์กฐ๊ฑด๋ฌธ, ์ฐธ์กฐํƒ€์ž… String, Null ์— ๋Œ€ํ•ด ์•Œ์ง€ ๋ชปํ•˜๋ฉด ์ดํ•ดํ•  ์ˆ˜ ์—†๋‹ค. ๋งŒ์•ฝ ์ดํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š๋Š”๋‹ค๋ฉด, if ์กฐ๊ฑด๋ฌธ,์ฐธ์กฐํƒ€์ž… String, Null ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•œ ๋’ค์— ๋‹ค์‹œ ๋ณด๋Š”๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. &์™€ &&

    itbeginner2020.tistory.com

     

    ์˜๋ฏธ๋กœ๋Š” ์ฐจ์ด๊ฐ€ ์—†์ง€๋งŒ &๋Š” ์ „์ž๊ฐ€ false์—ฌ๋„ ํ›„์ž๊นŒ์ง€ ๊ฒ€์‚ฌ๋ฅผ ํ•œ๋‹ค๊ณ  ํ•˜๊ณ , &&๋Š” ์ „์ž๊ฐ€ false์ด๋ฉด ๋’ค์— ๊ฑฐ๋Š” ๋ณด์ง€๋„ ์•Š๊ณ  false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ null pointer exception์œผ๋กœ๋ถ€ํ„ฐ &&๊ฐ€ ์ข€ ๋” ์ž์œ ๋กญ๋‹ค.

     

    ๊ทธ๋Œ€๋กœ &&๋ฅผ ์จ์•ผ๊ฒ ๋‹ค~

     

    ๐Ÿ˜ Feelings

    ์บก์Šํ™”๋ฅผ ์™œ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์˜๋ฏธ๋ฅผ ์•Œ๊ฒŒ ๋ผ์„œ ์ข‹์•˜๋‹ค.

     

    for๋ฌธ๊ณผ while๋ฌธ์€ ์ทจํ–ฅ์ฐจ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์ „ํ˜€ ์•„๋‹˜์„ ์•Œ๊ฒŒ ๋๋‹ค. ๊ฐ๊ฐ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์ž˜ ์จ์•ผ๊ฒ ๋‹ค.

     

    ๊ทธ๋งŒ ๋“ฃ๊ฒŒ ๋˜์–ด ์•„์‰ฝ๋‹ค... ์•Œ๊ณ ๋ฆฌ์ฆ˜ 2์ฃผ ํ›„ ์ž๋ฐ” ๋๋‚ด๊ธฐ 3์ผ ๊ฐ•์˜์™€ Servlet ๊ฐ•์˜๋ฅผ ๊ผญ ๋“ฃ๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ...

    ๋‹ค์Œ์— ๋“ค์„ ๊ธฐํšŒ๊ฐ€ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.

     

     

    ๐Ÿงญ Future

    ๋‹ค์Œ์ˆ˜์—… ๋‚ด์šฉ 23-07-06

    • Primitive DataType Array
    • Reference DataType Array

    ์˜ˆ์Šต๋ณด๋‹ค๋Š”.... ์ผ๋‹จ js๊ฐ€ ๊ธ‰ํ•˜๋‹ค!

    ๋ฐ˜์‘ํ˜•
Designed by Tistory.