728x90 ์๋ฐ13 [JAVA] ์์ธ Exception ๐จ ์ค๋ฅ Error ์ปดํ์ผ ์ค๋ฅ: ๋ฌธ๋ฒ(Syntax)์ด ์ฌ๋ฐ๋ฅด์ง ์์ ์ํ ์คํ์ค๋ฅ(Runtime Error) ์๋ฌ: ์์คํ ์ด ์ ์์ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋ ์ํ – ์์ต ๋ถ๊ฐ ์์ธ: ์คํ ์ค ์๊ธฐ์น ์์ ๋ฌธ์ ๋ฐ์ํ ์ํ – ์์ต ๊ฐ๋ฅ ๋ ผ๋ฆฌ์ค๋ฅ: ํ๋ก๊ทธ๋๋จธ๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ ์ฐ์ถ๋์ง ์์ ์ํ Exception: ์์ธ ์๋ชป๋ ์ฌ์ฉ, ์ฝ๋ฉ์ผ๋ก ์ธํ ์ค๋ฅ์ด๋ค. ์ผ๋ฐ ์์ธ(Exception): ์ปดํ์ผ๋ฌ๊ฐ ์์ธ ์ฒ๋ฆฌ ์ฝ๋ ์ฌ๋ถ๋ฅผ ๊ฒ์ฌํ๋ ์์ธ์ด๋ค. ์คํ ์์ธ(Runtime Exception): ์ปดํ์ผ๋ฌ๊ฐ ์์ธ ์ฒ๋ฆฌ ์ฝ๋ ์ฌ๋ถ๋ฅผ ๊ฒ์ฌํ์ง ์๋ ์์ธ์ด๋ค. ๐ ์์ธ ์ฒ๋ฆฌ ๊ฐ์์ค๋ฌ์ด ์ข ๋ฃ๋ฅผ ๋ฐฉ์งํด ํ๋ก๊ทธ๋จ์ ์ ์ ์ํํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค. try{ // ์์ธ ๋ฐ์ ๊ฐ๋ฅ์ฑ ์ฝ๋ ์์ฑ } catch(Exception.. 2023. 12. 20. [JAVA] Singleton Pattern ๐ข Singleton Pattern ์ฑ๊ธํด ํจํด: ๊ฐ์ฒด๋ฅผ ํ๋๋ง ์์ฑ ํ๋๋ก ํ๋ฉฐ, ์์ฑ๋ ํ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์ด๋์์๋ ์ง ์ฐธ์กฐํ ์ ์๋๋ก ํ๋ ํจํด์ด๋ค. ๊ฐ์ฒด ์์ฑ์ ํด๋์ค์์์ ์ํํ๋ฉฐ ์ธ๋ถ์๋ ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค. ๋ฐ๋ผ์ ์์ฑ์๋ private๋ก ์ ์ธํด์ผํ๋ค. public class DuckManager { private static DuckManager manager = new DuckManager(); private Duck[] ducks = new Duck[20]; private DuckManager() { makeDucks(); } public static DuckManager getDuckManager() { return manager; } } ๐จ ์ฌ์ฉ๋ฒ packag.. 2023. 12. 18. [JAVA] ์๋ฐ ๋ฐฐ์ด ๐น ์๋ฐ์ ๋ฐฐ์ด ์๋ฐ์ ๋ฐฐ์ด์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ข ๋ฅ์ ๋ฐ์ดํฐํ์ ์ ๋ฌถ์ด์ ๊ด๋ฆฌํ๋ ๊ธฐ์ ์ด๋ค. ์ ์ฝ ์กฐ๊ฑด์ด ๊ฐ์ ์ข ๋ฅ์ ๋ฐ์ดํฐ๋ง ๋ฌถ์ด์ผ ํ๋ ๊ฒ์ด๋ค. ์ฌ๋ฌ ๋ณ์๋ฅผ ํ๋๋ก ๋ฌถ์ด ํ๋์ ์ด๋ฆ์ผ๋ก ๋ค๋ฃฐ ์ ์๊ฒ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ ๊ตฌ์กฐ์ด๋ค. ๋ฐฐ์ด๋ช ์๋ ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ค๋ฃจ๊ธฐ ์ด๋ ค์ฐ๋ ์์์ฃผ์๋ง ์ ์ฅํด ์ฌ์ฉํ๊ฒ ๋๋ค. 1. ์ ์ ๋ฐฐ์ด: ์คํ ๋์ค ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ณํ์ํฌ ์ ์๋ค. (์ฌ์ฉ์ ์ ์ฅ์์ ๋ถํธํ ๊ฒ 1) ๋ฐฐ์ด์ ๊ฐ์ ๋ฏธ๋ฆฌ ์ ๋ 2) ๋ฐฐ์ด์ ๊ฐ์ด ๋ฏธ์ ์ผ ๋: ์คํ ์ ๊ฒฐ์ ๋๋ ๊ฒฝ์ฐ ๐ฏ ์ ์ธ๊ณผ ๋์์ ๊ฐ์ ์ด๊ธฐํํด ์์ฑ ๐ฏ New ์ฐ์ฐ์๋ฅผ ์ด์ฉํด ์์ฑ 2. ๋์ ๋ฐฐ์ด: ์คํ ๋์ค ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ณํ์ํฌ ์ ์๋ค. (์์คํ ์ ์ฅ์์ ๋ถํธํ ๊ฒ) ๐ฏ Collection Framework์์.. 2023. 12. 16. [JAVA] ํ ๋ณํ ๐ ๊ธฐ๋ณธํ์ ํ ๋ณํ boolean์ ์ ์ธํ ๊ธฐ๋ณธํ ๋ณ์์ ํ์ ์ ์์ ๋กญ๊ฒ ํ ๋ณํํด ์ฌ์ฉํ ์ ์๋ค. ๐ ์ฐธ์กฐํ์ ํ ๋ณํ ์๋ก ๋ค๋ฅธ ํด๋์ค๊ฐ ํธํ์ด ๊ฐ๋ฅํ๊ฐ? Student student = new Member(); // ??? ๊ฐ๋ฅํ๊ฐ? student.sname; // X ์ฌ์ฉ ๋ถ๊ฐ ์์น์ ์ผ๋ก (์์ธ์์) ์ฐธ์กฐํ๋ผ๋ฆฌ์ ํ ๋ณํ ์๋๋ค. ๊ตฌ์ฑ์์๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ์์ ๊ด๊ณ์ ํด๋์ค(์ฐธ์กฐํ) ๊ฐ์ ํ ๋ณํ์ ์ง์ํ๋ค. ์ํผํด๋์ค์ ๊ตฌ์ฑ์์๋ฅผ ๋ชจ๋ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ์บ์คํ ์ ํํด์ ํ๋ณํ์ด ๊ฐ๋ฅํ๋ค. ๋ณ๋์ ๋ช ๋ น์ด ์์ด ์๋ฌต์ (์๋)์ผ๋ก ์ง์์ด ๋๋ค. Duck dk = (Duck) new RedDuck(); ์ ์บ์คํ ์ด ๋ฐ์ํ๋ฉด, ์๋ธํด๋์ค์์ ํ์ฅํ ๋ณ์, ๋ฉ์๋ ๋ฑ์ ์ฌ์ฉํ ์ ์๋ค. ํ.. 2023. 12. 16. [JAVA] ์๋ฐ์ GUI ๐จ ์๋ฐ๋ ํจ์จ์ฑ ๋ฌธ์ ๋ก ๊ทธ๋ํฝ์ ๋ค๋ฃจ์ง ์์ง๋ง ํ์ต์ฉ์ผ๋ก ์๋ฐ๋ก GUI๋ฅผ ๊ฐ๋จํ ํ์ตํด๋ณด๋ ค ํ๋ค. ๐จ GUI (Graphical User Interface) ๊ทธ๋ํฝ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์์ ์ํธ์์ฉํ๋ ์ธํฐํ์ด์ค ์๋ฐ๋ ์ง์ ์ ์ผ๋ก GUI๊ธฐ๋ฐ ๋ชจ๋์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ๋ฉํ (ํฌ์ฅ)ํด JVM์ ๊ฑฐ์ณ์ ์ฌ์ฉํด์ผ ํ๋ค. ๋ค๋ง ๊ฑฐ์ณ์ ๊ฐ๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ๋๋ฆฌ๋ค. ๊ทธ๋์ ๋ณดํต ์๋ฐ์์ GUI๋ฅผ ๋ค๋ฃจ์ง ์๋๋ค. ๋๋ณด๊ธฐ ํ๋์จ์ด ์ถ๋ ฅ์ฅ์น์ธ ๋ชจ๋ํฐ๋ฅผ ์ํํธ์จ์ด๋ก ์ ์ดํ๊ธฐ ์ํด ๊ทธ๋ํฝ๋จ์๋ก ์ถ์ํํ์ฌ ๋ชจ๋์ ์ฌ์ฉํด ๋ชจ๋ํฐ๋ฅผ ์ ์ดํ๋ค. ๐ง ์ธํฐํ์ด์ค: ๋ ๊ฐ ์ด์์ ์์คํ , ์ฅ์น, ํ๋ก๊ทธ๋จ ๊ฐ์ ์ํธ ์์ฉํ๊ณ ํต์ ํ๊ธฐ ์ํ ๊ฒฝ๊ณ๋ ๋งค๊ฐ์ฒด GUI๋ ์ด๋ฒคํธ ๊ธฐ๋ฐ์ผ๋ก ๋ฌดํ๋ฃจํ์ ๋น ์ ธ ๋ฌดํ ๋๊ธฐ ์ํ์ ๋น ์ง.. 2023. 12. 16. [JAVA] ์๋ฐ์ ์์๊ณผ ์ถ์ ๋ฉ์๋ ๐ฑ ์๋ฐ ์์ ์๋ธํด๋์ค(sub class, ์์)๋ ์ํผํด๋์ค(super class, ๋ถ๋ชจ)๋ฅผ ์ ํํด, ์ํผํด๋์ค์ ๋ชจ๋ ๊ฒ์ ์์๋ฐ์ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด๋ค. ๋จ private์ ๊ฒฝ์ฐ๋ ์ฌ์ฉํ ์ ์๋ค. ์๋ธ ํด๋์ค ์์ extends ํค์๋์ ํจ๊ป ์ํผํด๋์ค๋ช ์ ์์ฑํ๋ฉด ๋๋ค. ํ๋๋ง ๊ฐ๋ฅ(๋จ์ผ ์์)ํ๋ฉฐ, ์ํผํด๋์ค์ ๊ธฐ๋ฅ์ ๋ํด ๋ ๋ง์ ๊ธฐ๋ฅ์ ๊ฐ๋๋ก ์๋ธํด๋์ค๋ฅผ ์์ฑํ๋ค. ๋ณ์๋ private๋ก ์ ์ธํ๊ณ getter-setter๋ก ์ ์ดํ๋ ๊ฒ์ด ์ข์ง๋ง ์์๋ protected๋ก ์ ์ธํด ๊ณต์ ํ๋๋ก ํ์๋ค. ๋๋ณด๊ธฐ โจ ์๋ธํด๋์ค์ ์์ฑ์๋ ์๋์ผ๋ก super();์ ์คํํด ์ํผ ํด๋์ค์ ์์ฑ์๋ฅผ ์๋์ผ๋ก ๋ถ๋ฅด๊ฒ ๋๋ค. โจ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์๋ ์ธ์๊ฐ ์๋ ์์ฑ์๋ฅผ ๋ถ๋ฅผ ๋๋ super(10,20); .. 2023. 12. 15. ์ด์ 1 2 3 ๋ค์ 728x90