๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿš— Major Study (Bachelor)/๐ŸŸ  JAVA Programming

JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 17.2์žฅ Reserved Keyword

by UKHYUN22 2021. 12. 12.
728x90

 

Java Reserved word์— ๋Œ€ํ•œ ๊ฒƒ
Reserve๋Š” ๋ฌธ๋ฒ•์„ ์œ„ํ•˜์—ฌ define๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

 

 


assert
assertion: T F๋ฅผ ํŒ๋‹จํ•˜๋Š” ๊ณผ์ •, ์ž˜๋ชป๋œ ์ƒํ™ฉ์— ์ฒ˜ํ–ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•จ
๋กœ์ง์„ ๊ตฌ์„ฑํ•œ๋‹ค๊ธฐ ๋ณด๋‹ค ์กฐ๊ฑด์„ ํŒŒ์•…ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฌด์—‡์ธ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์Œ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•œ
๋””๋ฒ„๊น…์— ๊ด€์—ฌํ•œ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 


while์ด ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— n์ด 1์ด ๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์กฐ๊ฑด์ด ์žˆ๋‹ค๋ฉด ์ด ์กฐ๊ฑด์„ ํŒ๋‹จํ•ด์•ผ ํ•œ๋‹ค.
while ๋ฃจํ”„๊ฐ€ ๋๋‚˜๊ณ  ๋‚˜๋ฉด n >= limit์ด๋ผ๋Š” ์กฐ๊ฑดํ•˜์— ์ข…๋ฃŒ๊ฐ€ ๋˜๋Š”๋ฐ ์ด ์กฐ๊ฑด์ด
๋งž๋Š” ๊ฒƒ์ธ์ง€ ํ™•์ธ๋˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. ์ฆ‰ while์ด ๋๋‚ฌ๋Š”๋ฐ n < limit ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด 
์•ˆ๋ผ๋ฏ€๋กœ ํ•ด๋‹น ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 


assert n == 1;
์ดํด๋ฆฝ์Šค์—์„œ ๋™์ž‘์‹œํ‚ค๋ ค๋ฉด Run configuration์—์„œ VM arguments๋ฅผ ๋ˆ„๋ฅด๊ณ 
-ea๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์‹คํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

 


assert expression1;
expression1์„ ์ˆ˜ํ–‰ํ•ด์„œ True์ด๋ฉด ๋„˜์–ด๊ฐ€๊ณ  false์ด๋ฉด AssertionError๋ฅผ Throw ํ•œ๋‹ค.
assert expression1: expression2;
expression1์„ ํ•ด์„œ True์ด๋ฉด ๋„˜์–ด๊ฐ€๊ณ  false์ด๋ฉด expression2๋ฅผ ๊ณ„์‚ฐํ•ด์„œ
ํ•ด๋‹น return value๋ฅผ ๊ฐ™์ด ๋ณด์—ฌ์ค€๋‹ค.

 


20๋ฒˆ ๋ฌธ์žฅ
30๋ฒˆ ๋ฌธ์žฅ
34๋ฒˆ ๋ฌธ์žฅ ' : ' ์กด์žฌํ•จ
assert this.count>=0 : this.count

 

 


assertTest1
1์”ฉ ์ฆ๊ฐ€์‹œ์ผœ์•ผ ํ•˜๋Š”๋ฐ 2์”ฉ ์ฆ๊ฐ€์‹œํ‚ด
assert val==1 ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 


assertTest2
1๋งŒ ๊ฐ์†Œํ•ด์•ผ ํ•˜๋Š”๋ฐ 2๋งŒํผ ๊ฐ์†Œ๋ฅผ ์‹œ์ผœ๋ฒ„๋ฆฌ๋ฉด ๋™์ผํ•œ ์—๋Ÿฌ๊ฐ€ ์ƒ๊ธด๋‹ค.

 


assertTest3
์ œ๋Œ€๋กœ if๋ฌธ์ด ์ˆ˜ํ–‰๋˜๋ฉด 
this.count >=0 ์ธ์ง€๋ฅผ ํ™•์ธํ•˜๊ณ  false์ด๋ฉด this.count๋ฅผ return ํ•ด์ฃผ๋Š” ๊ฒƒ
์•ž์—์„œ -1 ์ด๋ผ๋Š” ์—๋Ÿฌ๋ฅผ ์ผ๋ถ€๋Ÿฌ ๋ฐœ์ƒํ•˜๋ฉด ์‹ค์ œ๋กœ Console์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

 


strictfp
Floating Point๋ฅผ ๋‹ค๋ฃจ๋Š” ์—ฐ์‚ฐ์„ Strict ํ•˜๊ฒŒ ํ•˜๊ฒ ๋‹ค!!
์ด์ชฝ์˜ ๊ณ„์‚ฐ๊ณผ ์ €์ชฝ์˜ ๊ณ„์‚ฐ๊ฐ’์ด ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์ด๋‹ค.

 


์ธํ„ฐํŽ˜์ด์Šค ์•ž์— ์“ฐ๊ฑฐ๋‚˜ class ์•ž, ๋ฉ”์†Œ๋“œ ์•ž์—์„œ ์„ ์–ธํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

 


volatile
Java ๋ณ€์ˆ˜๋ฅผ Main Memory์— ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐ. 
์›๋ž˜๋Š” Cache๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์‚ฌ์‹ค Main Memory๋Š” ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์ด ์—†๋‹ค.
์†๋„๋Š” ์ข€ ๋Šฆ๋”๋ผ๊ณ  Main Memory์—์„œ ์ง์ ‘ Read Writeํ•˜๋ผ๋Š” ๊ฒƒ.

 


๋˜‘๊ฐ™์€ count๋ฅผ Main์—์„œ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉ์„ ํ•˜๊ฒŒ ๋˜๋ฉด
CPU1์€ ์ฆ๊ฐ€ํ•˜๊ณ  CPU2๋Š” ์ฝ๊ธฐ๋งŒ ํ•œ๋‹ค๊ณ  ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉ์ด ๋œ๋‹ค.
Cache์˜ ๊ฒฝ์šฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ

 


counter๋ฅผ ์„ ์–ธํ•  ๋•Œ volatile ์ด๋ ‡๊ฒŒ ํ•ด์ฃผ๋ฉด Main Memory์—์„œ ์ฝ๊ฒ ๋‹ค๋ผ๋Š” ๊ฒƒ

 

 


์„ฑ๋Šฅ์˜ ๊ฒฝ์šฐ ๋Š๋ ค์ง€์ง€๋งŒ ๋ณ€์ˆ˜ ๊ฐ’ ์ผ์น˜๋ฅผ ๋ณด์žฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ๋ฐ–์— ์—†๋‹ค.

 


Transient
Seriallize ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ œ์™ธํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

 

 

 


Point Class
transient ์„ ์–ธ์„ ํ•˜๋ฉด ๊ฐ’์„ ๋ณด๋‚ด๊ฒŒ ๋ ๋•Œ ํ•ด๋‹น ๋ณ€์ˆ˜๋Š” ์•ˆ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.