์ฝํ
๋ฌธ์ ํ ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ ์๋ฃ๊ตฌ์กฐ๋ ๊ณต๋ถํด์ผ ํ์ง๋ง, ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ๋ ์ค์ํ๋ค.ํด๋ฆฐ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด์๋ ์๋ ์ธ ๊ฐ์ง ์ต๊ด์ ๋ค์ฌ์ผ ํ๋ค.ํ๋ฃจ ์์นจ์ ์ฝ๋ ์ฐ๋ ์ต๊ด์ด ๋ฐ๋์ง๋ ์๊ฒ ์ง๋ง ๋งค๋ฒ ์ฝ๋๋ฅผ ์์ฑํ ๋๋ง๋ค ์ด๋ฌํ ์ต๊ด์ ์ผ๋์ ๋๊ณ ์์ฑํ๋ค ๋ณด๋ฉด ์ ์ฐจ ํด๋ฆฐ ์ฝ๋ ์์ฑ ๋ฅ๋ ฅ์ด ํฅ์๋ ๊ฒ์ด๋ผ๊ณ ๊ธฐ๋ํ๋ค. 1. ์กฐ๊ธฐ๋ฐํ (early return)์กฐ๊ธฐ ๋ฆฌํด(early return)์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋๋ฉด ํจ์๋ ๋ฉ์๋์์ ๋ฐ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ด๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ถํ์ํ ๊ณ์ฐ์ ํผํ๊ณ ์ฝ๋์ ๊ฐ๋
์ฑ์ ๋์ผ ์ ์๋ค.์๋ฅผ ๋ค์ด, totalPrice ํจ์์์ ๊ฐ๊ฒฉ์ด 100์ ์ด๊ณผํ๋ ๊ฒฝ์ฐ ๋ฐ๋ก ํ ์ธ์ ์ ์ฉํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ์ฝ๋๋ฅผ ์งค ๋, ์กฐ๊ธฐ ๋ฆฌํด์ ํ์ง ์์ผ๋ฉด ํ ์ธ ๋ก์ง์ ..
1. ์ ๋ค๋ฆญ์ค(Generics) ์ ๋ค๋ฆญ์ค๋?์ ๋ค๋ฆญ์ค(generics)๋ ์๋ฐ J2SE 5.0 ๋ฒ์ ์ดํ์ ๋์
๋ ๊ฐ๋
์ผ๋ก, ์๋ฃํ์ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ค์ด ์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. ์ ๋ค๋ฆญ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ฃํ์ ๊ฐ์ ๋ก ๋ฐ๊ฟ ๋ ์๊ธธ ์ ์๋ ์บ์คํ
(Casting) ์ค๋ฅ๋ฅผ ์ค์ผ ์ ์๋ค. ArrayList๋ ์๋ฐ์ **์ ๋ค๋ฆญ์ค(Generics)**๋ฅผ ํ์ฉํ๋ ๋ํ์ ์ธ ์ปฌ๋ ์
ํด๋์ค์ด๋ค. ์ ๋ค๋ฆญ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ArrayList์ ์ ์ฅํ ์์์ ํ์
์ ์ง์ ํ ์ ์๊ณ , ๋๋ถ์ ํ ๋ณํ ์์ด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ค. (ํ์
์์ ์ฑ ๋ณด์ฅ) ArrayList๋ ArrayList ํํ๋ก ์ ์ํ๋๋ฐ, ์ฌ๊ธฐ์ E๋ ์ ์ฅํ ์์์ ํ์
์ ๋ํ๋ด๋ ํ์
๋งค๊ฐ๋ณ์์ด๋ค. ArrayList,ArrayList์ฒ๋ผ ์ ๋ค๋ฆญ์ค๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ..
package ex02_ArrayList; import java.util.ArrayList; public class ArraylistMain { public static void main(String[] args) { // Collection // ์์(Element)๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฐ๋ณ ๊ฐ์์ ๊ฐ์ฒด๋ค์ ์กํฉ // (๊ธฐ๋ณธ ์๋ฃํ์ ์ ์ฅํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅ int, double, float์๋จ) ๊ฐ์ฒด๋ง์ ์ ์ฅ // ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ฒด ๋ณด๊ดํ ์ ์๊ฒ ๋ง๋ค์ด์ง ํด๋์ค๋ค์ ์กํฉ // ๊ณ ์ ํฌ๊ธฐ์ ๋ฐฐ์ด์ ๋ค๋ฃจ๋ ๋ถํธํจ ํด์ // ์์์ ๊ฐ์์ ๋ฐ๋ผ ์๋ ํฌ๊ธฐ ์กฐ์ // ์์์ ์ถ๊ฐ, ์ญ์ ์ ๋ฐ๋ฅธ ์์์ ์ด๋์๋๊ด // ์ ๋ค๋ฆญ(generic) ๊ธฐ๋ฒ์ผ๋ก ๊ตฌํ // Collection์ ํ ์ข
๋ฅ์ธ ArrayList // - ๊ฐ..