๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿš— 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.