Study 4. ์ œ์–ด๋ฌธ ๐Ÿ™‚

์ •์ง€์€ยท2023๋…„ 1์›” 17์ผ
1

JAVA๋ฅผ ์žก์•„~

๋ชฉ๋ก ๋ณด๊ธฐ
4/15
post-thumbnail

Today's Study


  1. ์„ ํƒ๋ฌธ
  2. ๋ฐ˜๋ณต๋ฌธ
  3. JUnit 5

1. ์„ ํƒ๋ฌธ


์œ„์—์„œ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์„ ํƒ์ ์œผ๋กœ ์‹คํ–‰์˜ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•ด์ฃผ๊ธฐ ์œ„ํ•œ ๊ตฌ๋ฌธ

1) if ๋ฌธ

public class Test{
	public static void main(String[] args){
    	int a_score = 92
        int b_score = 60
        int c_score = 86
        
        if(score >=90){
        	System.out.println("A");
      	}
        else if(score>=80){
        	System.out.println("B");
        }else{
      		System.out.println("๋ถˆํ•ฉ๊ฒฉ");
        }
    }
}
  • ์ค‘์ฒฉ if๋ฌธ : if๋ฌธ ๋ธ”๋Ÿญ ๋‚ด๋ถ€์— ๋˜ ๋‹ค์‹œ if๋ฌธ์„ ๋„ฃ๋Š” ๊ตฌ๋ฌธ

2) switch ๋ฌธ

switch์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๊ฐ€ case์˜ ๊ฐ’์„ ๋งŒ์กฑ์‹œํ‚ฌ๋•Œ ํ•ด๋‹น๋ถ€๋ถ„์˜ ์‹คํ–‰๋ฌธ์„ ์‹คํ–‰ํ•œ ๋’ค break๋ฅผ ํ†ตํ•ด ๋น ์ ธ๋‚˜๊ฐ€๋Š” ๊ตฌ๋ฌธ

public class Test{
	public static void main(String[] args){
    	int a_score = 92
        int b_score = 60
        int c_score = 86
        
        switch(score/10){
        case 9:
        	System.out.println("A");
            break;
        case 8:
        	System.out.println("B");
            break;
        }
        default:
        	System.out.println("๋ถˆํ•ฉ๊ฒฉ");
    }
}
  • break์ฒ˜๋ฆฌ๋ฅผ ์ž˜ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.


2.๋ฐ˜๋ณต๋ฌธ


1) for๋ฌธ

for(์ดˆ๊ธฐํ™”์‹; ์กฐ๊ฑด์‹; ์ฆ๊ฐ์‹) { ์‹คํ–‰๋ฌธ; } ์œผ๋กœ ๋ฐ˜๋ณตํšŸ์ˆ˜๋ฅผ ์•„๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค.

int sum = 0;
for (int i=1; i<1--; i++){
	sum = sum + i;
}

๋‹ค์Œ๊ณผ ๊ฐ™์ด 1~100๊นŒ์ง€์˜ ํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.


### 2) while๋ฌธ > while(์กฐ๊ฑด์‹) { ์‹คํ–‰๋ฌธ; } ์กฐ๊ฑด์ด true์ผ ๊ฒฝ์šฐ ๊ณ„์†ํ•ด์„œ ๋ฐ˜๋ณตํ•œ๋‹ค.
int sum=0;
while(sum<100){
	sum++;
}

3) do-while๋ฌธ

while๋ฌธ๊ณผ ์œ ์‚ฌํ•˜๊ณ  ์กฐ๊ฑด์„ ๋‚˜์ค‘์— ๊ฒ€์‚ฌํ•œ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.

int sum=0;
do{
	sum++;
} while(sum<100);

๋‹ค์Œ๊ณผ ๊ฐ™์ด do์•ˆ์˜ ๊ตฌ๋ฌธ์„ ์šฐ์„  ์‹คํ–‰ํ•˜๊ณ  ๋๋‚œ ํ›„ while๋ฌธ์„ ์‹คํ–‰ํ•ด true์ด๋ฉด ๋‹ค์‹œ do๋ฌธ์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ๋ฌด์กฐ๊ฑด์ ์œผ๋กœ ์ฒ˜์Œ do๊ตฌ๋ฌธ์€ ์‹คํ–‰๋œ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.


4) break๋ฌธ

๋„์ค‘์— ์‹คํ–‰์„ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ๋ฌธ์ด๋‹ค. ์ฃผ๋กœ while, do-while๋ฌธ์—์„œ ํŠน์ • ๊ฒฝ์šฐ์— ๊ตฌ๋ฌธ์„ ์ค‘๋‹จํ•˜๊ณ  ์‹ถ์„ ๋•Œ if๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค.

while(true){
	int num = (int)(Math.random()*6) + 1;
    if(num == 6){
    	break;
    }
}

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜์—ฌ num์ด 6์ด ๋ ๋•Œ๊นŒ์ง€ while๋ฌธ์„ ๋Œ ์ˆ˜ ์žˆ๋‹ค.


5) continue๋ฌธ

skip๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋กœ ๋‹ค์Œ๋™์ž‘์„ ์ด์–ด๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ตฌ๋ฌธ์ด๋‹ค.



3. JUnit5


Junit์€ ์ž๋ฐ”์šฉ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ์„ ์œ„ํ•œ ์‚ฐ์—… ํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
JUnit 5๋Š” 3๊ฐ€์ง€ ํ•˜์œ„ ํ”„๋กœ์ ํŠธ(์ œ์ด์œ ๋‹› ํ”Œ๋žซํผ, ์ฃผํ”ผํ„ฐ, ๋นˆํ‹ฐ์ง€)๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค.

  • ํŠน์ • ์†Œ์Šค์ฝ”๋“œ์˜ ๋ชจ๋“ˆ์ด ์˜๋„ํ•˜๋Š” ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.
  • JUnit Platform : ์ธํ…”๋ฆฌ์ œ์ด, ์ดํด๋ฆฝ์Šค, ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์–ด ์ฝ”๋“œ๋“ฑ์˜ ๋Œ€ํ‘œ์ ์ธ IDE์— ๋‚ด์žฅ๋˜์–ด์žˆ๋‹ค.
  • JUnit Jupiter : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ๊ณผ ํ™•์žฅ๋ชจ๋ธ ์ง€์›
  • JUnit Vintage : ์ด์ „ ๋ฒ„์ „์˜ JUnit์„ ์ง€์›

์˜์กด์„ฑ ์ถ”๊ฐ€

<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>(์›ํ•˜๋Š”๋ฒ„์ „)</version>
    <scope>test</scope>
</dependency>

๋Œ€ํ‘œ์  ์–ด๋…ธํ…Œ์ด์…˜

  1. @Test : ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฉ”์†Œ๋“œ
  • Junit์€ ๊ฐ๊ฐ์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— Test ์–ด๋…ธํ…Œ์ด์…˜์„ ์„ ์–ธํ• ๋•Œ๋งˆ๋‹ค ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  1. @Ignore : ๋ฏธ ์‹คํ–‰ ํ…Œ์ŠคํŠธ
  2. @Before : @Test ๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์ „์— ์‹คํ–‰๋˜๋Š” ๋ฉ”์†Œ๋“œ
  3. @After : @Test ์ดํ›„์— ์‹คํ–‰๋˜๋Š” ๋ฉ”์†Œ๋“œ
  4. @BeforeClass : @Test ๋ฉ”์†Œ๋“œ๋ณด๋‹ค ๋จผ์ € ํ•œ๋ฒˆ๋งŒ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ
  5. @AfterClass : @Test ๋ฉ”์†Œ๋“œ ์ดํ›„ ํ•œ๋ฒˆ๋งŒ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ

๋Œ€ํ‘œ์  ํ…Œ์ŠคํŠธ์šฉ ๋ฉ”์†Œ๋“œ

  1. assertEquals(a,b) : ๊ฐ์ฒด a์™€ b์˜ ๊ฐ’์ด ์ผ์น˜ํ•จ์„ ํ™•์ธํ•œ๋‹ค.
  2. assertArrayEquals(a,b) : ๋ฐฐ์—ด a์™€ b์˜ ๊ฐใ…„์ด ์ผ์น˜ํ•จ์„ ํ™•์ธํ•œ๋‹ค.
  3. assertSame(a,b) : ๊ฐ์ฒด a์™€ b๊ฐ€ ๊ฐ™์€ ๊ฐ์ฒด์ž„(๋‘ ๊ฐ์ฒด์˜ ๋ž˜ํผ๋Ÿฐ์Šค๊ฐ€ ๊ฐ™์Œ)์„ ํ™•์ธํ•œ๋‹ค.
  4. assertTrue(a) : ์กฐ๊ฑด a๊ฐ€ ์ฐธ์ธ์ง€ ํ™•์ธํ•œ๋‹ค.
  5. assertNotNull(a) : ๊ฐ์ฒด a๊ฐ€ null์ด ์•„๋‹˜์„ ํ™•์ธํ•œ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€