๐ Major Study (Bachelor)/๐ JAVA Programming40 JAVA ํ๋ก๊ทธ๋๋ฐ 6.6 6.6 Enumeration as a Class class ํด๋์ค ํ์ธ๋ฅผ ํ๋ Enum ํ์ ํด๋์ค์ฒ๋ผ ํ์ธ๋ฅผ ํ๋ค. ํด๋์ค์ฒ๋ผ Instance variable์ ์ ์ธํ๊ณ ๋ฉ์๋๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํ ์ ์๋ค. 2021. 10. 28. JAVA ํ๋ก๊ทธ๋๋ฐ 6.5 6.5 Information hiding revisited Information hiding์ Instance ๋ณ์๋ private๋ก ํ๊ณ ์ด๋ฅผ ์ฝ๊ณ ์ธ ๋ public ๋ฉ์๋๋ฅผ ๋ง๋ค์ด์ ์ ๊ทผํ์๊ณ ์ฌ์ ์ ํ์๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ๋๋ก ํ๋๋ฐ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋๋ผ!!! Insecure ํ ์ฌ๋ก๊ฐ ์ด๋ค ๊ฒฝ์ฐ์ธ์ง ์ดํด๋ณด์๊ณ ํ์ จ๋ค. Instance variable์ Type์ด ํด๋์ค ์ผ ๋ ์ฃผ์ํ ํ์๊ฐ ์๋ค. private๋ก ์ ์ธ์ ํ๋๋ฐ Hacking ๋นํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ป๊ฒ ๊ฐ๋ฅํ ๊ฒ์ผ๊น?? Object๋ฅผ ํฉ๋ฒ์ ์ผ๋ก public ๋งค์๋๋ฅผ ์ด์ฉํด์ ๋๊ฒจ์ฃผ๊ธฐ๋ ํ์ง๋ง Object์ ์ฃผ์๊ฐ ๋์ด๊ฐ๋ค๋ ๊ฒ์ด ๋ฌธ์ ๊ฐ ๋๋ค. Primitive type, cloning Object์ ์ฃผ์๋ฅผ ๋๊ธด ๊ฒ์ด ๋ฌธ์ ๊ฐ .. 2021. 10. 28. JAVA ํ๋ก๊ทธ๋๋ฐ 6.4 6.4 Overloading the same, a different signature, The return type ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ๋ฉ์๋๊ฐ ์ฌ๋ฌ๊ฐ ์๋ ๊ฒ์ Overloading ์ด๋ผ๊ณ ํ๋ค. Signature๋ ๋ฉ์๋์ Arguement์ ํ์ , ๊ฐ์, ์์ ๋ฑ๋ฑ์ ๋งํ๋ค. Return ํ์ ์ signature์ ์์ฑ์ด ์๋๋ค. The combination of method name and number and types of arguements, in order Overload ์ ๊ฒฝ์ฐ๊ฐ ์๋๋ค. 2021. 10. 28. JAVA ํ๋ก๊ทธ๋๋ฐ 6.3 6.3 Designing Methods Top-Down Design Private helper method Divide and conquer ๋ฐฉ์์ผ๋ก ๋๋ ์ ๊ณต๋ตํ๋ ๊ฒ Public์ ๋ฐ๊นฅ์์ ํ์๋ก ํ๋ ์ ๋ฌด๋ฅผ ์ํํ๋๋ก Public์ผ๋ก ์ ์๋์ด ์๊ณ Public ๋ฉ์๋๋ฅผ ๊ตฌ์ฑํ๊ณ ๋์์ฃผ๊ธฐ ์ํด์ private๋ก ์ ์ธํ๋ค. driver program, stub ํ ์คํธ ํ๋ ํ๋ก๊ทธ๋จ์ ๋๋ผ์ด๋ฒ ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค. ๋๋ผ์ด๋ฒ ํ๋ก๊ทธ๋จ์ด ํ ์คํธ ํ๋ ๋จ๊ณ๋ฅผ ๋ ๊ฐ์ง๋ก ๋ถ๋ฅผ ์ ์๋ค. ํ๋๋ Bottom up ํ๋๋ Top down 2021. 10. 28. JAVA ํ๋ก๊ทธ๋๋ฐ 8.2 8.2 Programming with Inheritance Child ํด๋์ค์ Constructor๋ฅผ ๋ง๋ค ๋ ๊ณ ๋ คํด์ผ ํ ์ Instance ๋ณ์์ ๊ฐ์ ์ฑ์๋ฃ๋ ๊ฒ์ด ๊ฐ์ฅ ์ค์ํ ์ผ ์ค ํ๋๋ค. ๋ถ๋ชจ ํด๋์ค์๋ ํด๋น ๋ณ์์ ๊ฐ์ ์ฑ์๋ฃ์ด์ผ ํ๋ฏ๋ก ์ด ์์ ์ ํด์ค๋ค. super(); ๋ก ๋ถ๋ชจ ํด๋์ค์ Consturctor๋ฅผ ํธ์ถํด์ Instance ๋ณ์๋ฅผ ์ฑ์๋ฃ๋๋ค. super๋ผ๋ ๊ฒ์ ๋จผ์ !! ์ด๋ค์ ธ์ผ ํ๋ค. ๋ถ๋ชจ ํด๋์ค์ Default Constructor๊ฐ ์กด์ฌํ ๋ super()๋ฅผ ์๋ตํ ์ ์๋ค. Constructor๊ฐ ๋ ๋ค๋ฅธ Constructor๋ฅผ ํธ์ถํ ์ ์๋ค. this๊ฐ ๋ถ์ผ๋ฉด ๊ฐ์ ํด๋์ค ์์ ์๋ Constructor๋ฅผ ์ง๋ชฉํ๊ฒ ๋๋ค. this ๋ฅผ ๋ณด์ฌ์ฃผ๋ ์์ writeOuput.. 2021. 10. 26. JAVA ํ๋ก๊ทธ๋๋ฐ 8.1 8.1 Inheritance Basics Principles of Abstraction, Code reuse ์ ๊ฐ์ฒด ์งํฅ์ธ๊ฐ? ๋ณต์กํ ํ๋ก๊ทธ๋จ ๋ค๋ฃจ๋๋ฐ ์ค์ํ๊ธฐ ๋๋ฌธ์ Abstraction ๊ฐ๋ ์ ํ์ฉํด์ ๋ณต์กํ ๊ฐ๋ ์ ์ดํดํ๋๋ฐ Simpleํ๊ฒ ๋ฐ๊ฟ ์ ์๋ ๊ฐ๋ ์ด ์กด์ฌํ๋ค๋ ๊ฒ Reusability, ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ๊ธฐ์ ์ข๋ค. the base of parent class, derived or child classes Inheritance๋ฅผ ์ฌ์ฉํ ๋๋ General ํ ํด๋์ค๋ฅผ ๋ง๋ค์ด ๋๊ณ Specialized ๋ ํด๋์ค์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋ ์์์ ๊ฐ๋ ์ ์ฌ์ฉํ๋ค. General Class๋ฅผ Parent Class ๋ผ๊ณ ํ๊ณ Specialized Class๋ฅผ Child Class ๋ผ๊ณ ํ๋ค. (De.. 2021. 10. 26. JAVA ํ๋ก๊ทธ๋๋ฐ 7.6 (JavaFX) Box๋ Container์ด๊ณ ์ผ๋ ฌ๋ก ๋ฐฐ์น๋ฅผ ํ๊ฒ ๋ค๋ ์๋ฏธ. Stack ์ด๋ ์์ ์ฌ๋ฆฌ๋ ๊ฐ๋ ์ผ๋ก ์์ ๋จผ์ ๊ทธ๋ฆฌ๊ณ ๊ทธ ์์ C๋ฅผ ๊ทธ๋ฆฐ ๊ฒ์ด๋ค. ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ, ์์์ ์๋๋ก ๋ฐฐ์น๋ฅผ ํ๋ ๊ฒ Component ์ฌ์ด์ gap์ ๋ถ์ฌํ ์ ์๋ค. Grid - ์ด์ฐจ์ ๋ฐฐ์ด๋ก ๊ฐ๋ ์ ์ ํ๊ณ row์ column์ ์ ํ๋ ๊ฐ๋ setPadding์ ๊ฐ๊ฒฉ์ ๋์ด์ฃผ๋ ๊ฒ์ด๋ผ๊ณ ํ๋ค. ์, ์ค๋ฅธ์ชฝ, ์ผ์ชฝ, ์๋์ ๊ฐ๊ฒฉ์ 10๋งํผ ๋ถ์ฌํ๊ณ ์์ํ๋ค. (setPadding ๋งค์๋) setTop, setBottom ๋ฑ๋ฑ์ผ๋ก ๋ฐฐ์น๋ฅผ ์ํจ๋ค. TextArea๋ ์ฌ๋ฌ ์ค, TextFeild๋ ํ ์ค์ ๋ง๋๋ ํด๋์ค์ด๋ค. Layout ์์ Layout์ ๋ฃ๋๋ค. Polygon์ ๋ซํ์๊ณ Polyline์ ๋ซํ ์์ง ์๋ค. 2021. 10. 26. JAVA ํ๋ก๊ทธ๋๋ฐ 7.5 7.5 Multidimensional Arrays C์ ๋ณ ๋ค๋ฅผ ๊ฐ๋ ์ด ์๋ค. ์๋ฐ์์ 2์ฐจ์ ๋ฐฐ์ด์ ์์ฑํ๋ ๋ฐฉ๋ฒ 2์ฐจ์ ๋ฐฐ์ด์ ์ด์ค For๋ฌธ๊ณผ ์ฌ์ฉํ๋ฉด ์ ์ฉํ๋ค. displayArray.length() , display[row].length() unequal ๊ฐ row์ ํด๋นํ๋ column์ ๊ฐ์๊ฐ ๋ค ๋ค๋ฅด๋ค 2021. 10. 26. JAVA ํ๋ก๊ทธ๋๋ฐ 6.2 6.2 Static Methods and Static variables ๋ฉ์๋๋ฅผ ํธ์ถํ ๋ Object๋ฅผ ๋ง๋ค ํ์ ์์ด ์ฌ์ฉํ ์ ์๋ ๋ฉ์๋ ๋ฐ๋ก ํด๋์ค ์ด๋ฆ. ์ ์ฌ์ฉํ๋ ๋ฉ์๋๋ฅผ Static ๋ฉ์๋๋ผ๊ณ ํ๋ค. ํด๋์ค ๋ฉ์๋๋ผ๊ณ ๋ถ๋ฅธ๋ค. (ํด๋์ค ๋ฉ์๋๊ฐ Static ๋ฉ์๋๋ฅผ ์๊ธฐํ๋ ๊ฒ) Static ๋ฉ์๋๋ฅผ Object๋ฅผ ๋ง๋ค์ง ์๊ณ ๋ฐ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ Instance Variable์ ์ ๊ทผํ ์ ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก Instance Variable์ ์ง์ Reference ํ ์ ์๋ค. Non Static Method๋ Static Variable์ ์ ๊ทผํ ์ ์๊ณ non static varaible๋ ์ ๊ทผํ ์ ์๋ค. Static variable์ Static Variable์ ์ ๊ทผํ ์.. 2021. 10. 26. JAVA ํ๋ก๊ทธ๋๋ฐ 6.1 6์ฅ More About Objects and Methods Instance variable , created, same, overloaded Object๋ฅผ ๋ง๋ค์ด ๋ด๋ ํจ์ ํด๋์ค๊ฐ ๊ฐ์ง๊ณ ์๋ Instance variable์ ๊ตฌ์ฒด์ ์ธ ๊ฐ์ ํ ๋นํ๋ ๊ฒ์ ํตํด์ Object๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๊ฒ new ํด๋์ค ์ด๋ฆ() ์ ํตํด์ ์๋์ผ๋ก ๋ง๋ค ๋ ์ด๊ฒ์ Construct๋ผ๊ณ ํ๋ค. ํด๋์ค ์ด๋ฆ๊ณผ ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง๋ค Overload ๋๋ค๋ ๊ฒ์ ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ๋ฉ์๋๊ฐ ํด๋์ค ์์ ์ฌ๋ฌ ๊ฐ ์๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค. ํ ํด๋์ค ์์ Constructor๊ฐ ์ฌ๋ฌ ๊ฐ ๋ค์ด๊ฐ ์ ์๊ณ Initializeํ๋ ๋ฐฉ๋ฒ์ด ๋ค๋ฅธ๋ค. void, return type, parameters void์ return ํ์ ์ด ์๊ณ Pa.. 2021. 10. 26. ์ด์ 1 2 3 4 ๋ค์