item13(4)
-
[์ดํํฐ๋ธ ์๋ฐ] Item13 ์๋ฒฝ๊ณต๋ต. TreeSet
item13. clone ์ฌ์ ์๋ ํญ์ ์ฃผ์ํด์ ์งํํ๋ผ. " p86. TreeSet" TreeSet : TreeSet์ Set ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค๋ก, Set์ ํน์ง์ธ ๊ฐ์ฒด๋ฅผ ์ค๋ณตํด์ ์ ์ฅํ ์ ์๊ณ , ์ ์ฅ ์์๊ฐ ์ ์ง๋์ง ์๋ ํน์ง์ ๊ทธ๋๋ก ๊ฐ์ง๊ณ ์๋ค. TreeSet์ ์ด์ง ํ์ ํธ๋ฆฌ์ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋๋ฐ, ์ด์ง ํ์ ํธ๋ฆฌ๋ ์ถ๊ฐ์ ์ญ์ ์๋ ์๊ฐ์ด ์ข ๊ฑธ๋ฆฌ์ง๋ง ์ ๋ ฌ, ๊ฒ์์ ๋์ ์ฑ๋ฅ์ ๋ณด์ด๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. TreeSet์ ์๋ฆฌ๋จผํธ๊ฐ ์ง๋ ์์ฐ์ ์ธ ์์ natural order์ ๋ฐ๋ผ ์ ๋ ฌํ๊ณ , ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก Comparator ๊ฐ์ฒด๋ฅผ ์ ๋ ฅํ์ฌ ์ ๋ ฌ ๋ฐฉ๋ฒ์ ์์๋ก ์ง์ ํด ์ค ์๋ ์๋ค. TreeSet numbers = new TreeSet(); numbers.a..
2023.02.06 -
[์ดํํฐ๋ธ ์๋ฐ] Item13 ์๋ฒฝ๊ณต๋ต. UnCheckedException
item13. clone ์ฌ์ ์๋ ํญ์ ์ฃผ์ํด์ ์งํํ๋ผ. " p80. ๋น๊ฒ์ฌ ์์ธ(Unchecked Exception) ์์ด์ผ ํ๋ค๋ ์ ํธ๋ค." UncheckedException public class MyException extends RuntimeException { } public class MyApp { public void hello() { System.out.println("hello"); throw new MyException(); } } public static void main(String[] args) { MyApp myApp = new MyApp(); myApp.hello(); } -> UncheckedException์ ์ฌ์ฉํ๋ฉด CheckedException์ ๋นํด ์ปดํ์ผ ์๋ฌ๋ฅผ ..
2023.02.03 -
[์ดํํฐ๋ธ ์๋ฐ] Item13. clone ์ฌ์ ์๋ ์ฃผ์ํด์ ์งํํ๋ผ. (clone ๋์)
item13. clone ์ฌ์ ์๋ ์ฃผ์ํด์ ์งํํ๋ผ. [์ดํํฐ๋ธ ์๋ฐ] Item13. clone ์ฌ์ ์๋ ์ฃผ์ํด์ ์งํํ๋ผ. (Clone๊ท์ฝ) (tistory.com) [์ดํํฐ๋ธ ์๋ฐ] Item13. clone ์ฌ์ ์๋ ์ฃผ์ํด์ ์งํํ๋ผ. (Clone๊ท์ฝ) item13. clone ์ฌ์ ์๋ ์ฃผ์ํด์ ์งํํ๋ผ. Clone() ์ด๋? : Object ํด๋์ค์ clone() ๋ฉ์๋๋ ์์ ์ ๋ณต์ ํ์ฌ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ์ผ์ ํ๋ค. ๋จ์ํ ์ธ์คํด์ค ๋ณ์์ ๊ฐ๋ง ๋ณต์ฌํ๊ธฐ ๋๋ฌธ์ ์ฐธ hyejin.tistory.com -> ์ฒซ๋ฒ์งธ ๊ฒ์๊ธ์์๋ clone ๊ท์ฝ์ ๋ํด์ ๋ดค๋๋ฐ clone ๋ฉ์๋์ ๊ท์ฝ์ ์ฝ๊ฐ ํ์ ํ ํธ์ด๋ผ๊ณ ํ ์์๋ค. x.clone() != x -> true x.clone().getClass(..
2023.02.03 -
[์ดํํฐ๋ธ ์๋ฐ] Item13. clone ์ฌ์ ์๋ ์ฃผ์ํด์ ์งํํ๋ผ. (Clone๊ท์ฝ)
item13. clone ์ฌ์ ์๋ ์ฃผ์ํด์ ์งํํ๋ผ. Clone() ์ด๋? : Object ํด๋์ค์ clone() ๋ฉ์๋๋ ์์ ์ ๋ณต์ ํ์ฌ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ์ผ์ ํ๋ค. ๋จ์ํ ์ธ์คํด์ค ๋ณ์์ ๊ฐ๋ง ๋ณต์ฌํ๊ธฐ ๋๋ฌธ์ ์ฐธ์กฐํ์ ์ ์ธ์คํด์ค ๋ณ์๊ฐ ์๋ ํด๋์ค๋ ์์ ํ ์ธ์คํด์ค ๋ณต์ฌ๊ฐ ์ด๋ฃจ์ด์ง์ง ์๋๋ค. Clone()์ ์ฌ์ฉํ๋ ค๋ฉด ๋ณต์ ํ ํด๋์ค๊ฐ Cloneable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด์ผ ํ๋ค. Cloneable ์ธํฐํ์ด์ค๋ ๋ค์ด๊ฐ๋ณด๋ฉด ์๋ฌด๋ฐ ๋ด์ฉ์ด ์๋ ๋น ์ธํฐํ์ด์ค์ธ๋ฐ ๊ทธ๋ฅ ์ด ์ธํฐํ์ด์ค๋ ํด๋น ํด๋์ค๊ฐ ๋ณต์ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ์๋ ค์ค๋ค๊ณ ํ ์ ์๋ค. public class PhoneNumber implements Cloneable{ private final short areaCode, prefix, l..
2023.02.01