๐Ÿ“ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž

ํ‘œํ˜„ ์˜ค๋ฒ„๋กœ๋”ฉํ•œ ํ•จ์ˆ˜ ๋‚ด์šฉ
a+b a.plus(b) a์™€ b๋ฅผ ๋”ํ•˜๋Š” ๊ฒƒ
a-b a.minus(b) a์—์„œ b๋ฅผ ๋นผ๋Š” ๊ฒƒ
a*b a.times(b) a์™€ b๋ฅผ ๊ณฑํ•˜๋Š” ๊ฒƒ
a/b a.div(b) a๋ฅผ b๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ
a%b a.rem(b) a๋ฅผ b๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€
a..b a.rangeTo(b) a๋ถ€ํ„ฐ b๊นŒ์ง€์˜ ๋ฐฐ

๐Ÿ“ ๋‹จํ•ญ ์—ฐ์‚ฐ์ž

ํ‘œํ˜„ ์˜ค๋ฒ„๋กœ๋”ฉํ•œ ํ•จ์ˆ˜ ๋‚ด์šฉ
+a a.unaryPlus() a๋ฅผ ์–‘์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ
-a a.unaryMinus() a๋ฅผ ์Œ์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ
!a a.not() true๋ฉด false, false๋ฉด true
a++, ++a a.inc() -> ++a๋ž‘ ๊ฐ™์Œ a๋ฅผ 1 ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ
aโ€”, โ€”a a.dec() -> --a๋ž‘ ๊ฐ™์Œ a๋ฅผ 1 ๊ฐ์†Œ ํ•˜๋Š” ๊ฒƒ

<aside> ๐Ÿ’ก a++, ++a / aโ€”, โ€”a์˜ ์ฐจ์ด๋Š” ์ฆ๊ฐ์—ฐ์‚ฐ์ž ์ „์œ„, ํ›„์œ„๋ฅผ ๊ฒ€์ƒ‰ํ•ด๋ณด๊ธฐ

</aside>

๐Ÿ“ ๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž

ํ‘œํ˜„ ์˜ค๋ฒ„๋กœ๋”ฉํ•œ ํ•จ์ˆ˜ ๋‚ด์šฉ
a += b a.plusAssign(b) a์™€ b๋ฅผ ๋”ํ•œ ๊ฒฐ๊ณผ๋ฅผ a์— ์ €์žฅํ•˜๋Š” ๊ฒƒ
a -= b a.minusAssign(b) a์™€ b๋ฅผ ๋บ€ ๊ฒฐ๊ณผ๋ฅผ a์— ์ €์žฅํ•˜๋Š” ๊ฒƒ
a *= b a.timesAssign(b) a์™€ b๋ฅผ ๊ณฑํ•œ ๊ฒฐ๊ณผ๋ฅผ a์— ์ €์žฅํ•˜๋Š” ๊ฒƒ
a /= b a.divAssign(b) a์™€ b๋ฅผ ๋‚˜๋ˆˆ ๋ชซ์„ a์— ์ €์žฅํ•˜๋Š” ๊ฒƒ
a %= b a.remAssign(b) a์™€ b๋ฅผ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ a์— ์ €์žฅํ•˜๋Š” ๊ฒƒ

๐Ÿ“ ๋น„ํŠธ ์—ฐ์‚ฐ์ž

ํ‘œํ˜„ ์˜ค๋ฒ„๋กœ๋”ฉํ•œ ํ•จ์ˆ˜ ๋‚ด์šฉ
a shl b ( a << b) a.shl(b) a๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋น„ํŠธ๋ฅผ b๋งŒํผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ (๋ถ€ํ˜ธ๊ฐ€ ์žˆ์Œ)
โ‡’ ๋ถ€ํ˜ธ ๋น„ํŠธ๋Š” ๊ทธ๋Œ€๋กœ, a๋ฅผ ์™ผ์ชฝ์œผ๋กœ b๋งŒํผ ์ด๋™ํ•˜๋Š” ๊ฒƒ
a shr b (a >> b) a.shr(b) a๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋น„ํŠธ๋ฅผ b๋งŒํผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ (๋ถ€ํ˜ธ๊ฐ€ ์žˆ์Œ)
โ‡’ ๋ถ€ํ˜ธ ๋น„ํŠธ๋Š” ๊ทธ๋Œ€๋กœ, a๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ b๋งŒํผ ์ด๋™ํ•˜๋Š” ๊ฒƒ
a ushr b (a >>> b) a.ushr(b) a๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋น„ํŠธ๋ฅผ b๋งŒํผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ (๋ถ€ํ˜ธ๊ฐ€ ์—†์Œ)
โ‡’ ๋ถ€ํ˜ธ ๋น„ํŠธ๋ฅผ ํฌํ•จ, ์˜ค๋ฅธ์ชฝ์œผ๋กœ b๋งŒํผ ์ด๋™ํ•˜๋Š” ๊ฒƒ
a and b ( a & b) a.and(b) a๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋น„ํŠธ์™€ b๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋น„ํŠธ๋กœ ๋…ผ๋ฆฌ๊ณฑ ์—ฐ์‚ฐํ•˜๋Š” ๊ฒƒ
โ‡’ ๋น„ํŠธ๋ผ๋ฆฌ AND ์—ฐ์‚ฐํ•˜๋Š” ๊ฒƒ
a or b ( a b ) a.or(b)
โ‡’ ๋น„ํŠธ๋ผ๋ฆฌ OR ์—ฐ์‚ฐํ•˜๋Š” ๊ฒƒ
a xor b ( a^b) a.xor(b) a๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋น„ํŠธ์™€ b๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋น„ํŠธ๋กœ ๋ฐฐํƒ€์  ๋…ผ๋ฆฌํ•ฉ์„ ์—ฐ์‚ฐํ•˜๋Š” ๊ฒƒ
โ‡’ ๋น„ํŠธ๋ผ๋ฆฌ XOR ์—ฐ์‚ฐํ•˜๋Š” ๊ฒƒ
a.inv (~a) a.inv() a์˜ ๋น„ํŠธ์˜ 0 ๋˜๋Š” 1์˜ ๊ฐ’์„ ๋ฐ˜๋Œ€๋กœ ํ•˜๋Š” ๊ฒƒ
โ‡’ 0 โ†’ 1, 1 โ†’ 0

๐Ÿ“ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

ํ‘œํ˜„ ๋‚ด์šฉ
a && b ๋‘ ํ•ญ์ด ๋ชจ๋‘ true ์ผ ๋•Œ true, ์•„๋‹ˆ๋ฉด false
a
!a ๋ถ€์ • ๋‹จํ•ญ ์—ฐ์‚ฐ์ž๋กœ true๋ฉด false, false๋ฉด true

๐Ÿ“ ๋น„๊ต ์—ฐ์‚ฐ์ž

ํ‘œํ˜„ ์˜ค๋ฒ„๋กœ๋”ฉํ•œ ํ•จ์ˆ˜ ๋‚ด์šฉ
a > 10 a.compareTo(10) > 0 ๋งž์œผ๋ฉด true ํ‹€๋ฆฌ๋ฉด false
a < 10 a.compareTo(10) < 0 ๋งž์œผ๋ฉด true ํ‹€๋ฆฌ๋ฉด false
a >= 10 a.compareTo(10) >= 0 ๋งž์œผ๋ฉด true ํ‹€๋ฆฌ๋ฉด false
a <= 10 a.compareTo(10) <= 0 ๋งž์œผ๋ฉด true ํ‹€๋ฆฌ๋ฉด false
a == b a?.equals(b) ?: (b == null) ๊ฐ’์ด ๊ฐ™์œผ๋ฉด true ๋‹ค๋ฅด๋ฉด false
a != b !(a?.equals(b)) ?: (b == null) ๊ฐ’์ด ๊ฐ™์œผ๋ฉด false ๋‹ค๋ฅด๋ฉด true
a === b ๋‘ ํ•ญ์˜ ์ฐธ์กฐ๊ฐ€ ๊ฐ™์œผ๋ฉด true , ๋‹ค๋ฅด๋ฉด false
a !== b ๋‘ ํ•ญ์˜ ์ฐธ์กฐ๊ฐ€ ๊ฐ™์œผ๋ฉด false, ๋‹ค๋ฅด๋ฉด true

๐Ÿ“ ์ฐธ๊ณ ํ•œ ๋ธ”๋กœ๊ทธ

[Kotlin] Kotlin ๊ธฐ๋ณธ ๊ฐ•์˜ (4) - ์—ฐ์‚ฐ์ž