๋ชฉ๋กKITRI/JAVA (35)
๐ป

์์ฑ์ ์ค๋ณต : ๋งค๊ฐ๋ณ์๋ฅผ ๋ฌ๋ฆฌํ๋ ์์ฑ์๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ์ธํ๋ ๊ฒ ๋งค๊ฐ๋ณ์์ ํ์ ๊ณผ ๊ฐ์ ๊ทธ๋ฆฌ๊ณ ์ ์ธ๋ ์์๊ฐ ๋๊ฐ์ ๊ฒฝ์ฐ ๋งค๊ฐ๋ณ์ ์ด๋ฆ๋ง ๋ฐ๊พผ๋ ๊ฒ์ ์์ฑ์ ์ค๋ฒ๋ก๋ฉ์ด ์๋๋ค. ๋ค๋ฅธ ์์ฑ์ ํธ์ถ(this()) : ์์ฑ์์์ ๋ค๋ฅธ ์์ฑ์๋ฅผ ํธ์ถํ ๋๋ this() ๋ฅผ ์ฌ์ฉํ๋ค. ์์ฑ์ ์ค๋ฒ๋ก๋ฉ์ด ๋ง์์ง ๊ฒฝ์ฐ ์์ฑ์ ๊ฐ์ ์ค๋ณต๋ ์ฝ๋๊ฐ ๋ฐ์ํ ์ ์๋ค. ๋งค๊ฐ ๋ณ์์ ์๋ง ๋ฌ๋ฆฌํ๊ณ ํ๋ ์ด๊ธฐํ ๋ด์ฉ์ด ๋น์ทํ ์์ฑ์์์ ์ด๋ฌํ ํ์์ ๋ณผ ์ ์๋ค. ์ด ๊ฒฝ์ฐ์๋ ํ๋ ์ด๊ธฐํ ๋ด์ฉ์ ํ ์์ฑ์์๋ง ์ง์ค์ ์ผ๋ก ์์ฑํ๊ณ ๋๋จธ์ง ์์ฑ์๋ ์ด๊ธฐํ ๋ด์ฉ์ ๊ฐ์ง๊ณ ์๋ ์์ฑ์๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ ํ ์ ์๋ค. ์ค๋ณต ์ฝ๋๋ฅผ ์ต์ํํ๋ค. ์กฐ๊ฑด 1) ๋ฐ๋์ ์์ฑ์์ ์ฒซ ์ค์์๋ง ํ์ฉ๋๋ค. 2) ์์ฑ์์ ์ด๋ฆ์ผ๋ก ํด๋์ค์ด๋ฆ ๋์ ..

์์ฑ์์ ํจ์์์ ์ฐจ์ด์ - ์์ฑ์๋ ๋ฆฌํดํ์ ์ด ์๊ณ ํด๋์ค ์ด๋ฆ๊ณผ ๋์ผํ๋ค. - ํจ์์ด๋ฆ์ ๊ฐ์ง ์์๋ ์๊ด์๋ค. (์ค๋ฌด์์๋ ์ฝ๋๊ฐ ๋ณต์กํ๊ธฐ ๋๋ฌธ์ ๋น์ทํ ๊ธฐ๋ฅ์ ํ๋ ํจ์๋ ์ด๋ฆ์ ๊ฐ๊ฒ ํด์ค๋ค. ) ํจ์์ค๋ณต - Overload / Overloading ์กฐ๊ฑด 1) ํจ์๋ช ์ ๊ฐ์ง๋ง 2) ํ๋ผ๋ฏธํฐ(๋งค๊ฐ๋ณ์)์ ํ์ ์ด๋ ๊ฐ์๊ฐ ๋ฌ๋ผ์ผ ํ๋ค. ๊ฐ์ฒด ๋ฐฐ์ด : ๋ง์ ์์ ๊ฐ์ฒด๋ฅผ ๋ค๋ค์ผํ ๋, ๋ฐฐ์ด๋ก ๋ค๋ฃจ๋ฉด ํธ๋ฆฌํ ๊ฒ์ด๋ค. ๊ฐ์ฒด ์ญ์ ๋ฐฐ์ด๋ก ๋ค๋ฃจ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ฉฐ ์ด๋ฅผ '๊ฐ์ฒด ๋ฐฐ์ด' ์ด๋ผ๊ณ ํ๋ค. ๊ฐ์ฒด ๋ฐฐ์ด์ ์ฐธ์กฐ๋ณ์๋ค์ ํ๋๋ก ๋ฌถ์ ์ฐธ์กฐ ๋ณ์ ๋ฐฐ์ด์ด๋ค.

ํด๋์ค์ 3๋ ํน์ง ์๋ํ ํจ์์ค๋ณต ์์์ฑ private ๋ ๋ด ์์ค ๋ฐ์์๋ ์ฌ์ฉํ ์ ์๋ค. ํจ์๋ private๋ฅผ ์ฐ์ง ์๋๋ค. ๋๋ถ๋ถ public์ผ๋ก ์ ์ธํด ์ฌ์ฉํ๋ค. ๋ณ์๋ private ๋ก ์ ์ธํด๋ ํจ์๋ฅผ ํตํด์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. ๊ทธ๋์ ๋ณ์๋ private๋ฅผ ์ฌ์ฉํ๋ค. ํ๋์ ํด๋์ค๋ 1๊ฐ์ ์๋ฐ ํ์ผ๋ก ์์ฑํ์ง๋ง, ์ฌ๊ธฐ์๋ ์ค๋ช ์ ํธํ๊ฒ ํ๊ธฐ ์ํด ํ๋์ ํ์ผ์ ์์ฑํด์ ์ฌ์ฉํ๊ฒ ๋ค. ํ๋์ ์๋ฐ ํ์ผ์์ ์ฌ๋ฌ ๊ฐ์ ํด๋์ค๋ฅผ ์์ฑํ ๋๋ ํ ๊ฐ์ ๋ฉ์ธํด๋์ค๋ง public์ผ๋ก ํ๊ณ , ๋๋จธ์ง๋ public์ ์ธ์ ๋นผ์ค์ผํ๋ค. ์์ฑ์์์ ๋ค๋ฅธ ์์ฑ์๋ฅผ ํธ์ถํ ๋์๋ ๋ค์๊ณผ ๊ฐ์ด this() ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ค. this๋ ์๋ต์ด ๊ฐ๋ฅํ๋ค. ๊ทธ๋ ์ง๋ง ์ด ๊ฒฝ์ฐ์๋ ๋ฉค๋ฒ๋ณ์์ ์ง์ญ๋ณ์๊ฐ ๋์ผํ ๋ณ์๋ช ์ด๊ธฐ ๋..

๊ฐ์ฒด์งํฅ์ธ์ด ๊ฐ์ฒด์งํฅ์ด๋ก ์ ๊ธฐ๋ณธ ๊ฐ๋ ์ '์ค์ ์ธ๊ณ๋ ์ฌ๋ฌผ(๊ฐ์ฒด)๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๋ฐ์ํ๋ ๋ชจ๋ ์ฌ๊ฑด๋ค์ ์ฌ๋ฌผ๊ฐ์ ์ํธ์์ฉ์ด๋ค.' ๋ผ๋ ๊ฒ์ด๋ค. ๊ฐ์ฒด์งํฅ์ด๋ก ์ ์์, ์บก์ํ, ์ถ์ํ ๊ฐ๋ ์ ์ค์ฌ์ผ๋ก ์ ์ฐจ ๊ตฌ์ฒด์ ์ผ๋ก ๋ฐ์ ๋์๋ค. ๊ฐ์ฒด์งํฅ์ธ์ด์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ด ๋๊ณ ์ ์ง๋ณด์๊ฐ ์ฉ์ดํ๋ค๋ ๊ฒ์ด๋ค. ๊ฐ์ฒด : ๊ฐ์ฒด๋? '์ค์ ๋ก ์กด์ฌํ๋ ๊ฒ. ์ฌ๋ฌผ ๋๋ ๊ฐ๋ ' ์ด๋ค. ๊ฐ์ฒด์งํฅ์ด๋ก ์์ ๊ฐ์ฒด๋ ์ ๋ฌดํ ๋ค ๊ฐ๋ฅํ๋ค. ํ๋ก๊ทธ๋๋ฐ์์์ ๊ฐ์ฒด๋ ํด๋์ค์ ์ ์๋ ๋ด์ฉ๋๋ก ๋ฉ๋ชจ๋ฆฌ์ ์์ฑ๋ ๊ฒ์ ๋ปํ๋ค. - ๊ฐ์ฒด์ ๊ตฌ์ฑ์์ (์์ฑ๊ณผ ๊ธฐ๋ฅ) : ๊ฐ์ฒด๋ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ด๋ผ๋ ๋ ์ข ๋ฅ์ ๊ตฌ์ฑ์์๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์์ฑ(Property) - ๋ฉค๋ฒ๋ณ์(member variable), ํน์ฑ(attribute), ํ๋(fie..

๋ฐฐ์ด ๋ณ์๋ ํ ๊ฐ์ ๋ฐ์ดํฐ๋ง ์ ์ฅํ์ง๋ง, ๋ฐฐ์ด์ ๊ฐ์ ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ์๋ ๊ณต๊ฐ์ ์ ์ฅํ๋ฏ๋ก ์๋๋ฉด์์ ์ข๋ค. ๊ฐ ๋ฐ์ดํฐ๋ ์ธ๋ฑ์ค๋ฅผ ๋ถ์ฌํ๋ค. ๋ฐฐ์ด์ ์์ฑ ์ 0์ผ๋ก ์ด๊ธฐํ๋๋ค. b๋ array์ ์ฃผ์๊ฐ์ ๊ฐ์ง๊ฒ ๋๋ค. ์ด๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฝ ํ๊ฒ ๋๋ค. ( ๋ง์ฝ, ์ฃผ์๊ฐ์ ์ฐธ์กฐํ์ง ์๋๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฐจ์งํด์ array 20byte + b 20btye = 40byte ๊ฐ ํ์ํ๊ฒ ๋์ง๋ง b๊ฐ ์ฃผ์๊ฐ์ ๊ฐ์ง๋ฉด array 20 byte + b 1byte = 21btye) ์ฃผ์๊ฐ์ ๊ฐ์ง๊ณ heap์์ญ์์ ํด๋น ์ฃผ์๊ฐ์ ์ฐพ์๊ฐ์ ๊ฐ์ ๊ฐ์ ธ์จ๋ค. C๋ C++์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด ์๊ธฐ๋๋ฌธ์, ๊ฐ๋ฐ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ํด์ ํด์ค์ผํ๋ค. ์ด๋, ๋ง์ฝ ์ฐธ์กฐํ๋ ๋ฐฐ์ด์ด ์๋๋ฐ ์ค์๋ก ๋ฉ๋ชจ๋ฆฌํด์ ํด๋ฒ๋ฆฐ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค..

๋ณ์๋ช , ํจํค์ง๋ช , ํ๋ก์ ํธ๋ช , ๋ฐฐ์ด๋ช , ํจ์๋ช ์ ๋ค ์นด๋ฉํ๊ธฐ๋ฒ ์ฌ์ฉ. ํด๋์ค๋ง ์ ์ผํ๊ฒ ๋๋ฌธ์๋ก ์์ํ๋ค. ์ค๋ผํด์ ์ธ๋๋ฐ ์ฌ์ฉ ์ค์บ๋์ ์ญํ ์ ํค๋ณด๋๋ก ์ ๋ ฅ์ ๋ฐ์์ ์ฒ๋ฆฌํ๋ค. ์์ ) ๊ตฌ๊ตฌ๋จ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ

1. ๋๋ฒ๊น ํ๊ณ ์ถ์ ๋ผ์ธ์ ๋๋ธํด๋ฆญํด์ breakpoint ์ค์ ํ๊ณ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ํด๋ฆญ > Debug As > Java Application 2. switch ๋๋ฅด๊ณ ๋๋ฒ๊น ์์ 3. F6 ๋๋ฅด๋ฉด ๋ค์์ผ๋ก ์ด๋, F8๋๋ฅด๋ฉด ์ข ๋ฃ(terminated) 4. ๋๋ฒ๊น ์๋ฃ ์ ์ค๋ฅธ์ชฝ ์๋จ ๋๋ฒ๊น ์์ด์ฝ ํด๋ฆญํด์ Closeํ๊ณ , breakpoint ํด์ ํ๋ค.

์ ์ด๋ฌธ ์กฐ๊ฑด๋ฌธ(if, if-else, if-else if, switch~case) if๋ฌธ switch๋ฌธ if๋ฌธ์ ์กฐ๊ฑด์ ์ฒดํฌํ๊ณ ์ํํ๊ณ ๋น ์ ธ๋์ค๋ ํํธ, switch๋ฌธ์ ํด๋น ์ผ์ด์ค๋ฌธ ์ดํ๋ก ์คํ์ด ๋๋ค. ์ฆ, break ๋ฅผ ์ฌ์ฉํด์ ๋น ์ ธ๋์์ผํ๋ค. ๋ฐ๋ณต๋ฌธ for๋ฌธ, while๋ฌธ) for๋ฌธ ๋ ์ฝ๋ ๋จ์๋ก ์ฝ์ด์ฌ๋๋ ์๋ฐ์์๋ for๋ฌธ๋ณด๋ค while๋ฌธ์ ๋ง์ด ์ฌ์ฉํ๋ค. for๋ฌธ์ ์์น๋ฐ๋ณต, while๋ฌธ์ ํ์๋ฐ๋ณต(ํ์ด๋ ๋ ์ฝ๋๋จ์) [๊ธฐํ] ๋ฐฐ์ด์ ์ถ๊ฐ, ์ญ์ ๊ฐ ์๋๋ค๋ ๋จ์ ์ด ์๋ค. ์ด๋ฅผ ๋ณด์ํ ๊ฒ์ด ArrayList. ๊ฐ์ฒด์งํฅ ์ธ์ด์ ๋ฐ์ดํฐ ๋จ์๋ ๋ ์ฝ๋(ํ๋์ ํ). C๋ ์ ์ํ, ์ค์ํ. ๋ ์ฝ๋ ๊ธฐ๋ฐ์ ์ธ์ด๋ค์ for๋ฌธ์ด๋ while๋ฌธ์ ์ ์ฐ์ง ์๋๋ค. while ๋ฌธ do while ๋ฌธ do w..