[JAVA] ๋ณ์์ ์์
์ด๋ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ผ ํ ์ง๋ผ๋ ๋ณ์์ ์์์ ๊ฐ๋ ์ ๋์ผ ํ๊ฑฐ๋ ๋น์ท ํ ๊ฒ์ด๋ค. ๋ณ์์ ์์์ ๋ํ ๊ฐ๋ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๊ธฐ ์ํด ๋ฌด์กฐ๊ฑด ๊ธฐ๋ณธ์ผ๋ก ๋ ๊ธฐ์ด๋ก ์๊ณ ์์ด์ผํ๋ ๊ฐ๋ ์ผ ๊ฒ์ด๋ค.
๋ณ์๋?
"๋ณ์(Variable)๋? ๋จ, ํ๋์ ๊ฐ์ ์ ์ฅํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ฏธํ๋ค."
ํ๋ก๊ทธ๋๋ฐ์์๋ ๋ณ์(variable)๋, ๊ฐ์ ์ ์ฅํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ์์ ๊ณต๊ฐ์ ์๋ฏธํ๋ค. ์ด ๊ณต๊ฐ์ ์ ์ฅ๋ ๊ฐ์ ๋ณ๊ฒฝ๋ ์ ์๊ธฐ ๋๋ฌธ์ '๋ณ์'๋ผ๋ ์ํ์ฉ์ด์ ๋น์ทํ ๋ฉด์ด ์์ด์ ๋ถ์ฌ์ง ์ด๋ฆ์ด๋ค. ํ๋์ ๋ณ์์ ๋จ ํ๋์ ๊ฐ๋ง ์ ์ฅํ ์ ์์ผ๋ฏ๋ก, ์๋ก์ด ๊ฐ์ ์ ์ฅํ๋ฉด ๊ธฐ์กด์ ๊ฐ์ ์ฌ๋ผ์ง๋ค. ํ๋ก๊ทธ๋๋ฐ์ ์ฒซ ์์์ด ๋ณ์ ์ด๋ฏ๋ก ๊ฐ๋จํ์ง๋ง ์ ํํ ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฒ์ ์๊ณ ๊ฐ์ผํ๋ค.
๋ณ์์ ์ ์ธ๊ณผ ์ด๊ธฐํ
๋ณ์(variable)์ ์ ์ธ
int count;
(๋ณ์ํ์ ๋ณ์์ด๋ฆ)
int๋ผ๋ ๋ณ์ํ์ ์ ๊ฐ์ง๊ณ ์๊ณ count๋ผ๋ ๋ณ์์ด๋ฆ์ ๊ฐ์ง ๋ณ์๋ฅผ ์ ์ธํ๋ค. ๋ณ์ํ์ ์ ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ด ์ด๋ค ํ์ ์ธ์ง๋ฅผ ์ง์ ํ๋ ๊ฒ์ด๋ค. ์ ์ฅํ๊ณ ์ ํ๋ ๊ฐ์ ์ข ๋ฅ์ ๋ง๊ฒ ๋ณ์์ ํ์ ์ ์ ํํด ์ ์ด์ฃผ๋ฉด ๋๋ค. ๋ณ์์ ํ์ ์๋ ์ ์ํ, ์ค์ํ, ๋ฌธ์ํ ๋ฑ์ด ์๋ค.
๋ณ์์ด๋ฆ์ ๋ณ์์ ๋ถ์ผ ์ด๋ฆ์ด๋ค. ๋ณ์๋ ๊ฐ์ ์ ์ฅํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด๋ฏ๋ก ๋ณ์์ ์ด๋ฆ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ด๋ฆ์ ๋ถ์ฌ์ฃผ๋ ๊ฑฐ์ ๊ฐ์ ์๋ฏธ์ด๋ค. ๋ณ์์ด๋ฆ์ ํตํด์ ์ ์ฅ๊ณต๊ฐ์ ๊ฐ์ ์ ์ฅํ๊ณ ๊ฐ์ ์ฝ์ด์ฌ ์ ์๋ค. ๋ณ์๋ ๋ค๋ฅธ ๋ณ์์ ๊ตฌ๋ถ์ ํ ์ ์์ด์ผ ํ๊ธฐ๋๋ฌธ์ ๋ณ์์ ์ด๋ฆ์ ๋ฌ๋ผ์ผํ๋ค.
๋ณ์(variable)์ ์ด๊ธฐํ
int count = 10;
(๋ณ์ํ์ ๋ณ์์ด๋ฆ = ๊ฐ)
int๋ผ๋ ๋ณ์ํ์ ์ ๊ฐ์ง๊ณ ์๊ณ count๋ผ๋ ๋ณ์์ด๋ฆ์ ๊ฐ์ง ๋ณ์๋ฅผ ์ ์ธํ๊ณ 10์ด๋ผ๋ ๊ฐ์ผ๋ก ์ด๊ธฐํํ๋ค. ๋ณ์๋ฅผ ์ ์ธํ ์ดํ๋ถํฐ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ ๋ฐ๋์ ๋ณ์๋ฅผ ์ด๊ธฐํ(initialization)ํด์ผ ํ๋ค. ๋ณ์์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํด์๋ '='๊ณผ ๊ฐ์ ๋์ ์ฐ์ฐ์๋ฅผ ์ด์ฉํด ๊ฐ์ ์ ์ฅํ๋ค. ํ๋ก๊ทธ๋๋ฐ์์ '='๊ณผ ๊ฐ์ ๋์ ์ฐ์ฐ์์ ๋ป์ ์ค๋ฅธ์ชฝ์ ์๋ ๊ฐ์ ์ค๋ฅธ์ชฝ์ ์๋ ๋ณ์์ ์ ์ฅํ๊ฒ ๋ค๋ ๋ป์ด๋ค.
[ ๋ณ์ ์์ 1 ]
๋ณ์ a,b,math,eng๋ฅผ ์ ์ธํ๊ณ math๋ 78๋ก eng๋ 88๋ก ์ด๊ธฐํํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ๋ณ์๋ฅผ println()์ผ๋ก ์ถ๋ ฅํ๋ค. ๋ณ์ math, eng๋ ๋ณ์๋ฅผ ์ ์ธํ๊ณ ์ด๊ธฐํ๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ์ถ๋ ฅ์ด ๊ฐ๋ฅํ๋ค. ํ์ง๋ง, ๋ณ์ a,b๋ ์ด๊ธฐํ๋ฅผ ํ์ง ์๊ณ ์ ์ธ๋ง ํ๊ธฐ ๋๋ฌธ์ ๋ณ์๋ฅผ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์ง ์์ ์ถ๋ ฅ์ ํ ์๊ฐ ์๋ค. "the local variable a many not have been initialized(๋ง์ ์ง์ญ ๋ณ์๊ฐ ์ด๊ธฐํ๋์ง ์์์ต๋๋ค)" ๋ผ๊ณ ์๋ฌ๊ฐ ํ์๋๋ค. ๋ณ์๋ฅผ ์ฌ์ฉํ ๋๋ ๊ผญ ์ ์ธ ํ ์ด๊ธฐํ๋ฅผ ํด์ผํ๋ค.
[ ๋ณ์ ์์ 2 ]
๋ณ์ math,eng๋ฅผ ์ ์ธํ๊ณ math๋ 78๋ก eng๋ 88๋ก ์ด๊ธฐํํ๋ค. ๋ณ์๋ฅผ ์ ์ธํ๊ณ ์ด๊ธฐํ ํ๊ธฐ ๋๋ฌธ์ ๋ณ์ math, eng๋ฅผ ์ฌ์ฉํ ์ ์๊ณ ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ์ถ๋ ฅํ ์ ์๋ค. ์ถ๋ ฅ ๊ฒฐ๊ณผ์ฒ๋ผ math๋ 78, eng๋ 88์ด ์ ์์ ์ผ๋ก ์ถ๋ ฅ๋๋ค. ๊ทธ๋ฐ๋ค์์ ๋ณ์ math์ ๋ค์ด์๋ ๊ฐ์ 12๋ฅผ ๋ํ ๊ฐ์ ๋ณ์ math์ ์ ์ฅํ๋ค. ๋ค์ ๋ณ์ math๋ฅผ ์ด๊ธฐํํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณ์ eng๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ณ์ eng์ ๋ค์ด์๋ ๊ฐ์ 10์ ๋ํ ๊ฐ์ ๋ณ์ eng์ ์ ์ฅํ๋ค. ๋ณ์ math์ ๊ฐ์ด ๋ณ์ eng๋ฅผ ์ด๊ธฐํํ๋ค. ๋ณ์ math, eng ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ 12์ 10์ ๋ํ 90, 98์ด ๋๋ค.
๋ณ์์ ๋ช ๋ช ๊ท์น
๋ณ์์ ์ด๋ฆ์ฒ๋ผ ํ๋ก๊ทธ๋๋ฐ์์ ์ฌ์ฉํ๋ ๋ชจ๋ ์ด๋ฆ์ '์๋ณ์'๋ผ๊ณ ํ๋ฉฐ, ์๋ณ์๋ ๊ฐ์ ์์ญ ๋ด์์ ์๋ก ๊ตฌ๋ถ๋ ์ ์์ด์ผํ๋ค.
๋ณ์๋ฅผ ๋ง๋ค ๋ ์ง์ผ์ผ ํ ๊ท์น
1. ๋์๋ฌธ์๊ฐ ๊ตฌ๋ถ๋๋ฉฐ ๊ธธ์ด์ ์ ํ์ด ์๋ค.
- True์ true๋ ์๋ก ๋ค๋ฅธ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ค.
2. ์์ฝ์ด๋ฅผ ์ฌ์ฉํด์๋ ์ ๋๋ค.
- true๋ ์์ฝ์ด๋ผ์ ์ฌ์ฉํ ์ ์์ง๋ง, True๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
3. ์ซ์๋ก ์์ํด์๋ ์๋๋ค.
- number10์ ํ์ฉํ์ง๋ง, 10number๋ ๋ถ๊ฐ๋ฅํ๋ค.
4. ํน์๋ฌธ์๋ '_'์ '$'๋ง ํ์ฉํ๋ค.
- $shape๋ ํ์ฉ๋์ง๋ง, S#hape๋ ํ์ฉ๋์ง ์๋๋ค.
# ์์ฝ์ด
abstract, default, if, package, this, assert, boolean, break, byte, case, catch, char, class, const, continue, do, double, else, enum, extends, false, final, finally, float, for, goto, implements, import, instanceof, int, interface, long, native, new, null, private, protected, public, return, short, static, strictfp, super, switch, synchronized, throw, throws, transient, true, try, viod, volatile, while
๋ณ์๋ฅผ ๋ง๋ค ๋ ๊ถ์ฅ์ฌํญ
1. ํด๋์ค ์ด๋ฆ์ ์ฒซ ๊ธ์๋ ํญ์ ๋๋ฌธ์๋ก ํ๋ค.
- ๋ณ์์ ๋ฉ์๋์ ์ด๋ฆ์ ์ฒซ ๊ธ์๋ ํญ์ ์๋ฌธ์๋ก ํ๋ค.
2. ์ฌ๋ฌ ๋จ์ด๋ก ์ด๋ฃจ์ด์ง ์ด๋ฆ์ ๋จ์ด์ ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ํ๋ค.
- lastIndexOf, StringBuffer ๋ฑ
3. ์์์ ์ด๋ฆ์ ๋ชจ๋ ๋๋ฌธ์๋ก ํ๋ค. ์ฌ๋ฌ ๋จ์ด๋ก ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ '_'๋ก ๊ตฌ๋ถํ๋ค.
- PI, MAX_NUMBER ๋ฑ
๊ถ์ฅ์ฌํญ์ ๊ผญ ์ง์ผ์ผ๋ง ํ๋๊ฑด ์๋๋ค, ํ์ง๋ง ์ฝ๋๋ฅผ ๋ณด๋ค ์ดํดํ๊ธฐ ์ฝ๊ฒ ํ๊ธฐ ์ํ ๊ฐ๋ฐ์๋ค ์ฌ์ด์ ์๋ฌต์ ์ธ ์ฝ์์ด๋ค. ๊ทธ๋์ ๊ฐ๋ฅํ๋ฉด ์งํค๋ ค๊ณ ๋ ธ๋ ฅํ๋๊ฒ ์ข์๊ฒ ๊ฐ๋ค.