Operator
-
[Swift] ์ฌ์ฉ์ ์ ์ ์ฐ์ฐ์ (Custom Operator)Swift 2023. 5. 3. 00:37
์๋ ํ์ธ์! ์ด๋ฒ ์๊ฐ์๋ ์ฌ์ฉ์ ์ ์ ์ฐ์ฐ์๋ฅผ ๋ง๋ค์ด๋ณด๋๋ก ํ ๊ฒ์. C, C++๋ Java ๋ฑ์๋ ์ฆ๊ฐ์ฐ์ฐ์๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ํธ๋ฆฌํ๊ฒ ++, -- ๋ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐ๋ฉด Swift์๋ ์ฆ๊ฐ์ฐ์ฐ์๊ฐ ์กด์ฌํ์ง ์์ต๋๋ค. Swift 3์์ deprecated ๋์๊ธฐ ๋๋ฌธ์ด์ฃ ๐ฅฒ ํ์ง๋ง ๊ด์ฐฎ์ต๋๋ค! Swift์์๋ ์ ํฌ๊ฐ ์ง์ ์ฐ์ฐ์ ๊ธฐํธ๋ฅผ ์ถ๊ฐํด์ ์ฌ์ฉ์ ์ ์ ์ฐ์ฐ์๋ฅผ ๋ง๋ค ์ ์๊ฑฐ๋ ์ใ ใ ์ ๋ 5++๋ฅผ ํ๋ฉด 1์ด ์ฆ๊ฐ๋์ด 6์ด ๋๋๋ก ํ๋ ํ์ ์ฆ๊ฐ ์ฐ์ฐ์ (++) ์ ํ๋ผ๋ฏธํฐ๋ก 2๊ฐ์ ์ซ์๋ฅผ ์ ๋ฌ๋ฐ์์ ๋ ๊ฐ์ ์ซ์๋ฅผ ๊ฐ๊ฐ ๊ณฑํ๊ณ , ๋๋ ๊ฐ์ ๋ํ๋ ์ญํ ์ ํ๋ ์ค์ ์ฐ์ฐ์ (*+/)๋ฅผ ๋ง๋ค์ด๋ณผ๊ฑฐ์์! ์ฌ์ฉ์ ์ ์ ์ฐ์ฐ์๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํฉ๋๋ค. ๋จผ์ ์ฐ์ฐ์์ ์์น์ ์ฐ์ฐ์๋ก ์ฌ์ฉํ ํน์๋ฌธ์..
-
[Swift] Range Operator (๋ฒ์ ์ฐ์ฐ์)Swift 2022. 1. 9. 22:22
(๋ชจ๋ ์ฝ๋๋ Playground์์ ์์ฑ๋์์ต๋๋ค.) ์ด๋ฒ์๋ ๋ฒ์๋ฅผ ๋ํ๋ผ ๋ ์ฌ์ฉํ๋ ๋ฒ์ ์ฐ์ฐ์ (Range Operator)์ ๋ํด์ ์์๋ณด๊ณ ์ ํ๋ค! Range Operator๋ ์ฃผ๋ก ๋ฐ๋ณต๋ฌธ์ด๋ ์ปฌ๋ ์ ์์ ๋ง์ด ์ฌ์ฉ์ด ๋๋๋ฐ, ๋จผ์ lowerBound์ upperBound์ ๋ํด์ ์์์ผํ๋ค. lowerBound๋ ์์๊ฐ์ ์๋ฏธํ๊ณ , upperBound๋ ์ข ๋ฃ๊ฐ์ ์๋ฏธํ๋ค. ๋ํ ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด, lowerBound๋ ํญ์ upperBound๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์์ผํ๋ค. Range Operator๋ Closed Range Operator์ Half-Open Range Operator์ 2๊ฐ์ง๋ก ๋๋ ์ ์๋ค. Closed Range Operator๋ upperBound๊ฐ ๋ฒ์์ ํฌํจ๋๋ ๋ฐ๋ฉด..
-
[Swift] ์ฐ์ฐ์ (Operator)Swift 2022. 1. 6. 22:38
(๋ชจ๋ ์ฝ๋๋ Playground์์ ์์ฑ๋์์ต๋๋ค.) ์ด๋ฒ ์๊ฐ์๋ ์ฐ์ฐ์์ ๋ํด์ ์์๋ณด๋๋ก ํ์! ์ฐ์ฐ์ (Operator)๋ ๋ง ๊ทธ๋๋ก ์ฐ์ฐ์ ํ๊ธฐ ์ํ ๊ธฐํธ๋ก, +, -, *, / ๋ฑ์ ๋งํ๋ค. ํผ์ฐ์ฐ์ (Operand)๋ ์ฐ์ฐ์ ์ฌ์ฉ๋๋ ๊ฐ์ ์๋ฏธํ๋ค. ํผ์ฐ์ฐ์ ์์ ๋ฐ๋ผ์ ๋ถ๋ฅ๋ฅผ ํ ์ ์๋๋ฐ, ์์ธํ ์์๋ณด๋๋ก ํ์. Unary Operator (๋จํญ ์ฐ์ฐ์) ํผ์ฐ์ฐ์ ์๊ฐ 1๊ฐ์ธ ๊ฒฝ์ฐ๋ฅผ ๋จํญ ์ฐ์ฐ์ (Unary Operator) ๋ผ๊ณ ํ๋ค. ์ฐ์ฐ์์ ํผ์ฐ์ฐ์๋ฅผ ๊ณต๋ฐฑ ์์ด ๋ถ์ฌ์ ์จ์ผํ๊ณ , ์๋์ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ค. ์ฌ๊ธฐ์ ํผ์ฐ์ฐ์ ์์น์ ๋ฐ๋ผ์ ์ฐ์ฐ์๋ฅผ ๋ถ๋ฅด๋ ์ด๋ฆ์ด ๋ฌ๋ผ์ง๋๋ฐ, ์ฐ์ฐ์๊ฐ ํผ์ฐ์ฐ์ ์์ ์กด์ฌํ ๊ฒฝ์ฐ์๋ Prefix Operator (๋จํญ ์ ์น ์ฐ์ฐ์) ์ฐ์ฐ์๊ฐ ํผ์ฐ์ฐ์..