์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [JAVA]๊ฐ์ฒด์ง€ํ–ฅ_์ถ”์ƒ ํด๋ž˜์Šค

    [JAVA]๊ฐ์ฒด์ง€ํ–ฅ_์ถ”์ƒ ํด๋ž˜์Šค

    ์ถ”์ƒ ํด๋ž˜์Šค์˜ ๊ฐœ๋…๊ณผ ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„๐Ÿค“ 01. ์ถ”์ƒ ํด๋ž˜์Šค 1. ์ถ”์ƒ(abstract) ๋ฉ”์†Œ๋“œ ์žฌ์ •์˜ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•ด ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„ ์—†์ด ๋ฏธ๋ฆฌ ํ˜ธ์ถœ ๊ณ„ํš์„ ์„ธ์›Œ๋‘๊ธฐ ์œ„ํ•ด ์ž‘์„ฑ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค๊ฐ€ ์ถ”์ƒ ํด๋ž˜์Šค 2. ์ถ”์ƒ(abstract) ํด๋ž˜์Šค ์‰ฝ๊ฒŒ ๋งํ•ด ๋ฉ”์†Œ๋“œ ์ด๋ฆ„๋งŒ ๋งŒ๋“ค์–ด๋†“๊ณ , ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ํด๋ž˜์Šค (๊ป๋ฐ๊ธฐ๋งŒ ์กด์žฌ) ์„ ์–ธO, ์ •์˜X ํŠน์ง• final ํด๋ž˜์Šค๋Š” ์ž์‹์„ ๊ฐ–์„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ถˆ๊ฐ€ ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๊ฐ€ ์—†์–ด๋„ ์ถ”์ƒ ํด๋ž˜์Šค๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋‚˜, ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๊ฐ€ ์—†๋Š” ์ถ”์ƒ ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•จ ์ถ”์ƒ ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์Œ โžก ๋Œ€ํ‘œ์  ์ถ”์ƒ ํด๋ž˜์Šค: Number, Calendar ๋“ฑ 02. ์ถ”์ƒ ํด๋ž˜์Šค ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜..

    [JAVA]๊ฐ์ฒด์ง€ํ–ฅ_์ƒ์†๊ณผ ๊ด€๋ จํ•œ ์šฉ์–ด(2)

    [JAVA]๊ฐ์ฒด์ง€ํ–ฅ_์ƒ์†๊ณผ ๊ด€๋ จํ•œ ์šฉ์–ด(2)

    ์ƒ์†๊ณผ ๊ด€ํ•œ ์—ฌ๋Ÿฌ ๊ฐ์ฒด์ง€ํ–ฅ ์šฉ์–ด๋“คโœŒ๏ธ 01 . ์˜ค๋ฒ„๋ผ์ด๋”ฉ - ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ์ƒ์† ๋ฐ›์€ ํ•˜์œ„ ํด๋ž˜์Šค์—์„œ ์ƒ์œ„ ํด๋ž˜์Šค์— ์ •์˜๋œ ๋ฉ”์†Œ๋“œ๋ฅผ ์žฌ์ •์˜(overriding) ํ•˜๋Š” ๊ฒƒ - ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ ๊ธฐ๋Šฅ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ƒํ™ฉ์— ๋”ฐ๋ผ ํ•˜์œ„ ํด๋ž˜์Šค์—์„œ ๋ณ€ํ˜•๋œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๋ฉฐ ๋‹คํ˜•์„ฑ(Polymorphism) ๊ตฌํ˜„์˜ ํ•ต์‹ฌ ์›๋ฆฌ override ๋œ ๊ฒฝ์šฐ์—๋Š” ์žฌ์ •์˜๋œ ๋ฉ”์†Œ๋“œ๊ฐ€ ํ˜ธ์ถœ์ด ๋˜๊ณ , ์ƒ์œ„ํด๋ž˜์Šค๋Š” ๋ฉ”์†Œ๋“œ๋Š” ์ˆจ๋Š”๋‹ค. โžก ์•„๋ฒ„์ง€๊ฐ€ ๋ฌผ๋ ค์ฃผ์‹  ๊ฐ•์˜์‹ค์„ ์ž์‹์ด PC๋ฐฉ์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๋Š”๋ฐ, ์ž ๊น ์•„๋ฒ„์ง€ํ•œํ…Œ ๋ด๋‹ฌ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด? ์•„๋ฒ„์ง€๋Š” ๊ฐ•์˜์‹ค์„ ๋ณผ ์ˆ˜ ์—†๊ณ , PC๋ฐฉ์„ ๋ณด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์›๋ฆฌ!! ๐Ÿ˜Ž 02. ์บ์ŠคํŒ… ํ˜• ๋ณ€ํ™˜์€ ์ƒ์† ๊ด€๊ณ„์—์„œ๋งŒ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์œผ๋กœ ํ˜•์ œ ๊ด€๊ณ„๋ž€ ์—†๋‹ค. (ํ˜•์ œ๋Š” ๋‚จ์ด๋‹ค) 1. ์—… ์บ์ŠคํŒ…(Up-casting)..

    [JAVA] ๊ฐ์ฒด์ง€ํ–ฅ_์ƒ์†

    [JAVA] ๊ฐ์ฒด์ง€ํ–ฅ_์ƒ์†

    01. ์ƒ์†(Inheritance)์˜ ๊ฐœ๋… ๊ธฐ์กด์— ์ •์˜๋œ ํด๋ž˜์Šค์— ๋ฉ”์†Œ๋“œ์™€ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ ์ƒ์†์„ ํ†ตํ•ด ์—ฐ๊ด€๋œ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ๊ณตํ†ต์ ์ธ ๊ทœ์•ฝ์„ ์ •์˜ํ•˜๊ณ  ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์‹ค์งˆ์ ์ธ ๋ชฉ์  ์‹ค๋ฌด์—์„œ๋Š” ๋‚ด๊ฐ€ ๋งŒ๋“  ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๋Š” ์ผ๋ณด๋‹ค๋Š”, ์ด๋ฏธ ๋งŒ๋“ค์–ด์„œ ์ œ๊ณตํ•ด์ค€ ๊ฒƒ๋“ค์„ ์ƒ์†ํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ์ผ์ด ๋นˆ๋ฒˆํ•˜๋‹ค๊ณ  ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž๋ฐ” ํ”Œ๋žซํผ์˜ ๋ชจ๋“  ํด๋ž˜์Šค๋Š” Object ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค. 02. ์Šˆํผ ํด๋ž˜์Šค์™€ ์„œ๋ธŒ ํด๋ž˜์Šค 1. ์Šˆํผ ํด๋ž˜์Šค์™€ ์„œ๋ธŒ ํด๋ž˜์Šค ์šฉ์–ด ์ •๋ฆฌ โœ๏ธ - ์Šˆํผ ํด๋ž˜์Šค(Super class) ์ƒ์†์„ ํ•ด์ฃผ๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ํด๋ž˜์Šค(Base class)๋ผ๊ณ ๋„ ํ•จ - ์„œ๋ธŒ ํด๋ž˜์Šค(Sub class) ์ƒ์†์„ ๋ฐ›๋Š” ์ž์‹ ํด๋ž˜์Šค ํŒŒ์ƒ ํด๋ž˜์Šค(Derived class)๋ผ๊ณ ๋„ ํ•จ 2. ์ƒ์† ..