์ ์ฒด ๊ธ(658)
-
[์ดํํฐ๋ธ ์๋ฐ] 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 ์ฌ์ ์๋ ์ฃผ์ํด์ ์งํํ๋ผ. https://hyejin.tistory.com/1039 [์ดํํฐ๋ธ ์๋ฐ] Item13. clone ์ฌ์ ์๋ ์ฃผ์ํด์ ์งํํ๋ผ. (Clone๊ท์ฝ) item13. clone ์ฌ์ ์๋ ์ฃผ์ํด์ ์งํํ๋ผ. Clone() ์ด๋? : Object ํด๋์ค์ clone() ๋ฉ์๋๋ ์์ ์ ๋ณต์ ํ์ฌ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ์ผ์ ํ๋ค. ๋จ์ํ ์ธ์คํด์ค ๋ณ์์ ๊ฐ๋ง ๋ณต์ฌํ๊ธฐ ๋๋ฌธ์ ์ฐธ hyejin.tistory.com -> ์์ ๊ฒ์๊ธ์ ์์์ฒ๋ผ ๋ถ๋ณ ํด๋์ค๋ Cloneable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ณ , clone()์ ์ฌ์ ์ํด์ฃผ๋ฉด ๋๋๋ฐ clone()์ ๋จ์ํ ๊ฐ์ฒด์ ์ ์ฅ๋ ๊ฐ์ ๊ทธ๋๋ก ๋ณต์ฌํ ๋ฟ, ๊ฐ์ฒด๊ฐ ์ฐธ์กฐํ๊ณ ์๋ ๊ฐ์ฒด๊น์ง ๋ณต์ฌํ์ง๋ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ณ ๊ฐ์ฒด์ ๊ฒฝ..
2023.02.01 -
[์ดํํฐ๋ธ ์๋ฐ] 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 -
[ํ๋ก๊ทธ๋๋จธ์ค] Lv1. ์ฑ๋ถ์ผ๋ก ๊ตฌ๋ถํ ์์ด์คํฌ๋ฆผ ์ด ์ฃผ๋ฌธ๋
๋ฌธ์ ์ค๋ช ๋ค์์ ์์ด์คํฌ๋ฆผ ๊ฐ๊ฒ์ ์๋ฐ๊ธฐ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ๋ด์ FIRST_HALF ํ ์ด๋ธ๊ณผ ์์ด์คํฌ๋ฆผ ์ฑ๋ถ์ ๋ํ ์ ๋ณด๋ฅผ ๋ด์ ICECREAM_INFO ํ ์ด๋ธ์ ๋๋ค. FIRST_HALF ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, SHIPMENT_ID, FLAVOR, TOTAL_ORDER ๋ ๊ฐ๊ฐ ์์ด์คํฌ๋ฆผ ๊ณต์ฅ์์ ์์ด์คํฌ๋ฆผ ๊ฐ๊ฒ๊น์ง์ ์ถํ ๋ฒํธ, ์์ด์คํฌ๋ฆผ ๋ง, ์๋ฐ๊ธฐ ์์ด์คํฌ๋ฆผ ์ด์ฃผ๋ฌธ๋์ ๋ํ๋ ๋๋ค. FIRST_HALF ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ FLAVOR์ ๋๋ค. NAME TYPE NULLABLE SHIPMENT_ID INT(N) FALSE FLAVOR VARCHAR(N) FALSE TOTAL_ORDER INT(N) FALSE ICECREAM_INFO ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, FLAVOR, INGREDITENT_T..
2023.01.31 -
[์ดํํฐ๋ธ ์๋ฐ] Item12. toString์ ํญ์ ์ฌ์ ์ํ๋ผ.
item12. toString์ ํญ์ ์ฌ์ ์ํ๋ผ. Object์ ๊ธฐ๋ณธ toString ๋ฉ์๋๋ ๋ณดํต 'ํด๋์ค์ด๋ฆ@16์ง์๋ก ํ์ํ ํด์์ฝ๋' ๋ก ๋ฐํํ๋ค. ์ด ๊ธฐ๋ณธ ๋ฉ์๋๋ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ฉด์ ๊ทธ๋ฅ ์ค์ํ ์ ๋ณด๋ฅผ ๋๊ฒจ์ฃผ๋๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ์ฌ์ ์๋ฅผ ํ์ฌ ์ ์ตํ ์ ๋ณด๋ฅผ ๋๊ฒจ์ฃผ๋ ๊ฒ์ด ์ข๋ค. toString ์ผ๋ฐ ๊ท์ฝ์ ๋ฐ๋ฅด๋ฉด '๊ฐ๊ฒฐํ๋ฉด์ ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ํํ์ ์ ์ตํ ์ ๋ณด'๋ฅผ ๋ฐํํด์ผ ํ๋ค'๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ '๋ชจ๋ ํ์ ํด๋์ค์์ ์ด ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ผ๊ณ ํ๋ค' toString์ ์ ๊ตฌํํ ํด๋์ค๋ ์ฌ์ฉํ๊ธฐ์๋ ํจ์ฌ ํธํ๊ณ ์ด ํด๋์ค๋ฅผ ์ฌ์ฉํ ์์คํ ์ ๋๋ฒ๊น ํ๊ธฐ ์ฌ์์ง๋ค. toString ๋ฉ์๋๋ ๊ฐ์ฒด๋ฅผ println์ด๋ printf, ๋ฌธ์์ด ์ฐ๊ฒฐ ์ฐ์ฐ์(+), assert ๊ตฌ๋ฌธ์ ๋๊ธธ ๋ , ํน์ ๋..
2023.01.31