SlideShare a Scribd company logo
1 of 15
Download to read offline
JAVA Class ์ƒ์†
์ž‘์„ฑ์ž : ํ™ํšจ์ƒ
์ด๋ฉ”์ผ : hyomee@naver.com
์†Œ์Šค : https://github.com/hyomee/JAVA_EDU
ํ”„๋กœ๊ทธ๋žจ์€ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ.
๋Š๋ ค๋„ ๊พธ์ค€ํ•˜๋ฉด ๊ฒฝ๊ธฐ์—์„œ ์ด๊ธด๋‹ค.
Content
์†Œ์Šค : https://github.com/hyomee/JAVABASIC
8. Class ์ƒ์†
1. ๊ฐœ๋…
2. Class ์ƒ์† ( Extends )
3. Abstract Class ์ƒ์† ( Extends )
4. Interface Class ์ƒ์† ( Implements )
1. ๊ฐœ๋…
8. Class ์ƒ์†
โ€ข ๋ถ€๋ชจํด๋ž˜์Šค๋ฅผ์„ฑ์งˆ์„์ž์‹ํด๋ž˜์Šค๊ฐ€ํฌํ•จ์‹œํ‚ค๋Š”๋ฌธ๋ฒ•์š”์†Œ
โ€ข ๊ฐ์ฒด(์‚ฌ๋ฌผ)์˜๊ณตํ†ต์ ์ธ์„ฑ์งˆ(ํŠน์„ฑ)์„๋ชจ์•„์„œ ํด๋ž˜์Šค๋ฅผ๋งŒ๋“ค๊ณ ๋…๋ฆฝ์ ์ธ์„ฑ์งˆ์„ ๊ฐ๊ฐํด๋ž˜์Šค๋กœ๋งŒ๋“ค๋ฉด์ด๋•Œ๊ณตํ†ต์ ์ธ์„ฑ์งˆ์„๋ถ€๋ชจํด๋ž˜์Šค๋ผํ•˜๊ณ ๊ฐœ๋ณ„ํด๋ž˜์Šค๋ฅผ์ž์‹ํด๋ž˜์Šค๋ผํ•œ๋‹ค.
โ€œ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ• ์š”์†Œ โ€
8-1. ๊ฐœ๋…
ํด๋ž˜์Šค ์ƒ์†
์ด๋ฆ„
๋‚˜์ด
์ฆ๋ช…์„œ
๋ชธ๋ฌด๊ฒŒ
ํ‚ค
๋จน๊ธฐ
์ž ์ž๊ธฐ
๋“ฑ๊ตํ•˜๊ธฐ
์ถœ๊ทผํ•˜๊ธฐ
์ˆ ๋งˆ์‹ ๋‹ค
๊ณต๋ถ€ํ•˜๊ธฐ
์ผํ•˜๊ธฐ
์‚ฌ๋žŒ
์ด๋ฆ„
๋‚˜์ด
ํ•™์ƒ์ฆ
๋ชธ๋ฌด๊ฒŒ
ํ‚ค
๋จน๊ธฐ
์ž ์ž๊ธฐ
๋“ฑ๊ตํ•˜๊ธฐ
๊ณต๋ถ€ํ•˜๊ธฐ
ํ•™์ƒ
์ด๋ฆ„
๋‚˜์ด
์‚ฌ์›์ฆ
๋ชธ๋ฌด๊ฒŒ
ํ‚ค
๋จน๊ธฐ
์ž ์ž๊ธฐ
๋“ฑ๊ตํ•˜๊ธฐ
์ถœ๊ทผํ•˜๊ธฐ
์ˆ ๋งˆ์‹ ๋‹ค
๊ณต๋ถ€ํ•˜๊ธฐ
์ผํ•˜๊ธฐ
์ง์žฅ์ธ
์ด๋ฆ„
๋‚˜์ด
๋ชธ๋ฌด๊ฒŒ
ํ‚ค
๋จน๊ธฐ
์ž ์ž๊ธฐ
์ˆ ๋งˆ์‹ ๋‹ค
์ผ๋ฐ˜์ธ
์ด๋ฆ„
๋‚˜์ด
๋ชธ๋ฌด๊ฒŒ
ํ‚ค
๋จน๊ธฐ
์ž ์ž๊ธฐ
์‚ฌ๋žŒ
ํ•™์ƒ์ฆ
๋“ฑ๊ตํ•˜๊ธฐ
๊ณต๋ถ€ํ•˜๊ธฐ
ํ•™์ƒ
์‚ฌ์›์ฆ
์ถœ๊ทผํ•˜๊ธฐ
์ˆ ๋งˆ์‹ ๋‹ค
๊ณต๋ถ€ํ•˜๊ธฐ
์ผํ•˜๊ธฐ
์ง์žฅ์ธ
์ˆ ๋งˆ์‹ ๋‹ค
์ผ๋ฐ˜์ธ
๊ณตํ†ต ์„ฑ์งˆ(ํŠน์ง•)
๊ฐœ๋ณ„ ์„ฑ์งˆ
๋ถ€๋ชจ ํด๋ž˜์Šค
์ž์‹ ํด๋ž˜์Šค
์ž์‹ ํด๋ž˜์Šค
1. ๊ฐœ๋…
8. Class ์ƒ์†
โ€ข ์ค‘๋ณต๋˜๋Š”์†์„ฑ(์ƒํƒœ)๊ณผํ–‰๋™์„๋ณ„๋„๋กœ๊ด€๋ฆฌํ•˜์—ฌ์ค‘๋ณต์ฝ”๋“œ๋ฅผ์ œ๊ฑฐํ•œ๋‹ค..
-์ด๋ฆ„,๋‚˜์ด,๋ชธ๋ฌด๊ฒŒ,ํ‚ค,๋จน๊ธฐ,์ž ์ž๊ธฐ
โ€ข ํ•™์ƒ์€์‚ฌ๋žŒ์ด๋‹ค,์ง์žฅ์ธ์€์‚ฌ๋žŒ์ด๋‹ค.์ง์žฅ์ธ์€์„ฑ์ธ์ด๋‹ค.์ผ๋ฐ˜์ธ๋„์„ฑ์ธ์ด๋‹ค.์ฒ˜๋Ÿผ๋‹ค์–‘ํ•œํ‘œํ˜„์„ํ• ์ˆ˜์žˆ๋Š”๊ฒƒ์„๋‹ค์–‘์„ฑ์ด๋ผํ•œ๋‹ค.
โ€œ ์ƒ์†์€ ์ฝ”๋“œ ์ค‘๋ณต ์ œ๊ฑฐ์™€ ๋‹คํ˜•์„ฑ์„ ์œ„ํ•จ์ด๋‹ค.โ€
8-1. ๊ฐœ๋…
๋‹ค์–‘์„ฑ
์ด๋ฆ„
๋‚˜์ด
๋ชธ๋ฌด๊ฒŒ
ํ‚ค
๋จน๊ธฐ
์ž ์ž๊ธฐ
์‚ฌ๋žŒ
ํ•™์ƒ์ฆ
๋“ฑ๊ตํ•˜๊ธฐ
๊ณต๋ถ€ํ•˜๊ธฐ
ํ•™์ƒ
์‚ฌ์›์ฆ
์ถœ๊ทผํ•˜๊ธฐ
์ˆ ๋งˆ์‹ ๋‹ค
์ผํ•˜๊ธฐ
์ง์žฅ์ธ
์ˆ ๋งˆ์‹ ๋‹ค
์ผ๋ฐ˜์ธ
์ด๋ฆ„
๋‚˜์ด
๋ชธ๋ฌด๊ฒŒ
ํ‚ค
๋จน๊ธฐ
์ž ์ž๊ธฐ
์‚ฌ๋žŒ
๊ณ ๋“ฑํ•™์ƒ ์‚ฌ์›์ฆ
์ถœ๊ทผํ•˜๊ธฐ
๊ณต๋ถ€ํ•˜๊ธฐ
์ผํ•˜๊ธฐ
์ง์žฅ์ธ ์ผ๋ฐ˜์ธ
์ˆ ๋งˆ์‹ ๋‹ค
์„ฑ์ธ
์ˆ ๋งˆ์‹ ๋‹ค
๋Œ€ํ•™์ƒ
ํ•™์ƒ์ฆ
๋“ฑ๊ตํ•˜๊ธฐ
๊ณต๋ถ€ํ•˜๊ธฐ
ํ•™์ƒ
์ƒ์„ธํ™”/๊ตฌ์ฒดํ™”
์กฐ์ƒ ํด๋ž˜์Šค
๋ถ€๋ชจ ํด๋ž˜์Šค ๋ถ€๋ชจ ํด๋ž˜์Šค
์ž์‹ ํด๋ž˜์Šค ์ž์‹ ํด๋ž˜์Šค
ํ•™์ƒ์€ ์‚ฌ๋žŒ์ด๋‹ค.
์ง์žฅ์ธ์€ ์‚ฌ๋žŒ์ด๋‹ค.
์ผ๋ฐ˜์ธ์€ ์‚ฌ๋žŒ์ด๋‹ค.
๊ณ ๋“ฑํ•™์ƒ์€ ํ•™์ƒ์ด๋‹ค.
๊ณ ๋“ฑํ•™์ƒ์€ ์‚ฌ๋žŒ์ด๋‹ค.
๋Œ€ํ•™์ƒ์€ ์‚ฌ๋žŒ์ด๋‹ค.
โ€ฆ.
์‚ฌ๋žŒ์€ ํ•™์ƒ์ด๋‹ค.
-> ์ด์ƒํ•œ ํ‘œํ˜„์ž„
=> ์ƒ์†์€ ์ž์‹์—์„œ ๋ถ€๋ชจ๋กœ ํ–ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
1. ๊ฐœ๋…
8. Class ์ƒ์†
โ€ข ์ค‘๋ณต๋˜๋Š”์†์„ฑ(์ƒํƒœ)๊ณผํ–‰๋™์„๋ณ„๋„๋กœ๊ด€๋ฆฌํ•˜์—ฌ์ค‘๋ณต์ฝ”๋“œ๋ฅผ์ œ๊ฑฐํ•œ๋‹ค..
-์ด๋ฆ„,๋‚˜์ด,๋ชธ๋ฌด๊ฒŒ,ํ‚ค,๋จน๊ธฐ,์ž ์ž๊ธฐ
โ€ข ํ•™์ƒ์€์‚ฌ๋žŒ์ด๋‹ค,์ง์žฅ์ธ์€์‚ฌ๋žŒ์ด๋‹ค.์ง์žฅ์ธ์€์„ฑ์ธ์ด๋‹ค.์ผ๋ฐ˜์ธ๋„์„ฑ์ธ์ด๋‹ค.์ฒ˜๋Ÿผ๋‹ค์–‘ํ•œํ‘œํ˜„์„ํ• ์ˆ˜์žˆ๋Š”๊ฒƒ์„๋‹ค์–‘์„ฑ์ด๋ผํ•œ๋‹ค.
โ€œ ์ƒ์†์€ ์ฝ”๋“œ ์ค‘๋ณต ์ œ๊ฑฐ์™€ ๋‹คํ˜•์„ฑ์„ ์œ„ํ•จ์ด๋‹ค.โ€
8-1.๊ฐœ๋…
๋‹ค์–‘์„ฑ
์ด๋ฆ„
๋‚˜์ด
๋ชธ๋ฌด๊ฒŒ
ํ‚ค
๋จน๊ธฐ
์ž ์ž๊ธฐ
์‚ฌ๋žŒ
๊ณ ๋“ฑํ•™์ƒ ์‚ฌ์›์ฆ
์ถœ๊ทผํ•˜๊ธฐ
๊ณต๋ถ€ํ•˜๊ธฐ
์ผํ•˜๊ธฐ
์ง์žฅ์ธ ์ผ๋ฐ˜์ธ
์ˆ ๋งˆ์‹ ๋‹ค
์„ฑ์ธ
์ˆ ๋งˆ์‹ ๋‹ค
๋Œ€ํ•™์ƒ
ํ•™์ƒ์ฆ
๋“ฑ๊ตํ•˜๊ธฐ
๊ณต๋ถ€ํ•˜๊ธฐ
ํ•™์ƒ
์กฐ์ƒ ํด๋ž˜์Šค
๋ถ€๋ชจ ํด๋ž˜์Šค ๋ถ€๋ชจ ํด๋ž˜์Šค
์ž์‹ ํด๋ž˜์Šค ์ž์‹ ํด๋ž˜์Šค
๊ณ ๋“ฑํ•™์ƒ์€ ํ•™์ƒ์ด๋‹ค.
๊ณ ๋“ฑํ•™์ƒ์€ ์‚ฌ๋žŒ์ด๋‹ค.
๋Œ€ํ•™์ƒ์€ ์‚ฌ๋žŒ์ด๋‹ค.
โ€ฆ.
โžข ๋‹ค์–‘์„ฑํ‘œํ˜„
์‚ฌ๋žŒ[ ] = { new ์‚ฌ๋žŒ(), new ์‚ฌ๋žŒ() };
ํ•™์ƒ[ ] = { new ํ•™์ƒ(), new ํ•™์ƒ(), new ํ•™์ƒ() };
์‚ฌ๋žŒ[ ] = { new ์‚ฌ๋žŒ(), new ํ•™์ƒ(), new ์ง์žฅ์ธ(), new ์ผ๋ฐ˜์ธ() };
์‚ฌ๋žŒ h01 = new ํ•™์ƒ();
์‚ฌ๋žŒ h01 = new ์ง์žฅ์ธ();
์‚ฌ๋žŒ h01 = new ์ผ๋ฐ˜์ธ();
โ€ข ๋ฐฐ์—ดํ‘œํ˜„(์ƒ์†๋˜์ง€์•Š์€์ƒํƒœ)
-๋™์ผ์ž๋ฃŒํ˜•๋งŒ์š”์†Œ๋กœ๋  ์ˆ˜์žˆ์Œ
โ€ข ๋ฐฐ์—ดํ‘œํ˜„(์ƒ์†๋จ)
-๋ถ€๋ชจ์˜์„ฑ์งˆ(ํŠน์„ฑ)์„๋ชจ๋‘๋ฐ›์„์ˆ˜์žˆ์Œ
-๋˜๋‹ค๋ฅธํ‘œํ˜„
1. Class ์ƒ์† ( Extends )
8. Class ์ƒ์†
8-2. Class ์ƒ์† ( Extends )
01. ํด๋ž˜์Šค์ƒ์„ฑ
class ์ž์‹ํด๋ž˜์Šค extends ๋ถ€๋ชจํด๋ž˜์Šค {
โ€ฆ.
}
์‚ฌ๋žŒ
ํ•™์ƒ ์ง์žฅ์ธ
class ํ•™์ƒ extends ์‚ฌ๋žŒ { โ€ฆ }
class ์ง์žฅ์ธ extends ์‚ฌ๋žŒ { โ€ฆ. }
์‚ฌ๋žŒ
๋ธŒ๋ฃจ์Šค๋ฒ„๋„ˆ๋ฐ•์‚ฌ
ํ—ํฌ
class ๋ธŒ๋ฃจ์Šค๋ฒ„๋„ˆ๋ฐ•์‚ฌ extends ์‚ฌ๋žŒ, ํ—ํฌ { โ€ฆ }
โžข ๋‹ค์ค‘์ƒ์†->์ž๋ฐ”์—์„œ๋Š”ํ—ˆ์šฉํ•˜์ง€์•Š์Œ
๋ธŒ๋ฃจ์Šค๋ฒ„๋„ˆ๋ฐ•์‚ฌ๊ฐ€ ๋‹ฌ๋ฆฐ๋‹ค -> ๋ˆ„๊ฐ€ ๋‹ฌ๋ฆฌ๋Š” ๊ฒƒ์ธ๊ฐ€ ?
=> ๋ชจํ˜ธ์„ฑ์ด ๋ฐœ์ƒํ•จ
1. Class ์ƒ์† ( Extends )
8. Class ์ƒ์†
8-2. Class ์ƒ์† ( Extends )
02. ํด๋ž˜์Šค์ƒ์„ฑ์‹œ๋ฉ”๋ชจ๋ฆฌ๊ตฌ์กฐ โžข ์‚ฌ์šฉ
์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ ์˜์—ญ Stack ์˜์—ญ Heap ์˜์—ญ
eat() {}
sleep() {}
goToSchool()
study()
Human
Student
student 100 Human ๊ฐ์ฒด
( Objects )
Student ๊ฐ์ฒด
( Objects )
name age
weight height
eat() sleep())
studentId
goToSchool()
study()
100 ๋ฒˆ์ง€
1. Class ์ƒ์† ( Extends )
8. Class ์ƒ์†
8-2. Class ์ƒ์† ( Extends )
03. ๋ถ€๋ชจ๊ฐ์ฒด์—์ƒ์„ฑ์ž๋Š”์ƒ์†๋Œ€์ƒ์ด์•„๋‹ˆ๋‹ค.
Invalid method declaration; return type required
-> ๋ถ€๋ชจ ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž๋ฅผ ์žฌ์ •์˜ ํ•˜๋ ค๊ณ  ํ•ด์„œ ๋‚˜๋Š” ์˜ค๋ฅ˜
-> ์ž์‹ ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋กœ ์‚ฌ์šฉ ํ•˜์—ฌ์•ผ ํ•จ
์ƒ์„ฑ์ž๋Š” ๋ฆฌํ„ด ํƒ€์ž…์ด ์—†์Œ
๋ฆฌํ„ด ํƒ€์ž…์ด ์žˆ๋Š” ๊ฒƒ์€ ๋ฉ”์„œ๋“œ
04. ๋‹ค์–‘์„ฑ
Human
Student Adult
Worker SelfEmployed
CollegeStudent HighSchoolStudent
public class Human { }
public class Adult extends Human { }
public class Worker extends Adult { }
public class SlefEmpolyed extends Adult { }
public class Student extends Human { }
public class CollegeStudent extends Student { }
public class HighSchoolStudent extends Student { }
โ€ข ๊ฐ์ฒด๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ๋‹ค.
-> ์ค‘ํ•™์ƒ, ์ดˆ๋“ฑํ•™์ƒ โ€ฆ..
1. Class ์ƒ์† ( Extends )
8. Class ์ƒ์†
8-2. Class ์ƒ์† ( Extends )
05. ๊ฐ์ฒด์ƒ์„ฑ์‹œํƒ€์ž…
class com.hyomee.extend.Human cannot be cast to class com.hyomee.extend.Student
java.lang.ClassCastException: class com.hyomee.extend.Human cannot be cast to class
com.hyomee.extend.Student
java.lang.ClassCastException: class com.hyomee.extend.Human cannot be cast to class
com.hyomee.extend.Student
Up Casting : Human human = (Human) student : compiler์— ์˜ํ•ด์„œ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€
-> Human์œผ๋กœ ์ „ํ™” ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— student์˜ ์„ฑ์งˆ(ํŠน์„ฑ)์€ ์‚ฌ๋ผ์ง
-> Human์˜ ๋ฉค๋ฒ„, ๋ฉ”์„œ๋“œ ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
Down Casting : ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ•ด์•ผ ํ•จ
-> Student ๊ฐ์ฒด๋ฅผ ๋ณ€ํ™˜ ํ•จ
-> Human, Student ์˜ ๋ชจ๋“  ์†์„ฑ(๋ฉค๋ฒ„), ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ
Student๋Š” Human๋ฅผ ์ƒ์† ๋ฐ›์•„์„œ Human์˜ ๋ชจ๋“  ์„ฑ์งˆ(ํŠน์„ฑ)์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Œ
-> Human, Student ์˜ ๋ชจ๋“  ์†์„ฑ(๋ฉค๋ฒ„), ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ
Student๋ฅผ ์‚ฌ์šฉ ํ•ด์„œ Human์œผ๋กœ ์ƒ์„ฑ๋จ
-> Student์˜ ์†์„ฑ(๋ฉค๋ฒ„), ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ๋ถˆ๊ฐ€
-> Human์˜ ๋ฉค๋ฒ„, ๋ฉ”์„œ๋“œ ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
Human ๊ฐ์ฒด ์ƒ์„ฑ
-> Human์˜ ๋ฉค๋ฒ„, ๋ฉ”์„œ๋“œ ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
X
X
X
1. Class ์ƒ์† ( Extends )
8. Class ์ƒ์†
8-2. Class ์ƒ์† ( Extends )
05. ๊ฐ์ฒดํƒ€์ž…ํ™•์ธ(instanceof ) 06. Method Overriding
โ€ฆ
์‚ฌ๋žŒ
โ€ฆ
์ˆ ๋งˆ์‹ ๋‹ค
์ง์žฅ์ธ
โ€ฆ
์ˆ ๋งˆ์‹ ๋‹ค
์ž์˜์ž
์ˆ ๋งˆ์‹ ๋‹ค
์„ฑ์ธ
โ€ฆ
์‚ฌ๋žŒ
โ€ฆ
์ง์žฅ์ธ
โ€ฆ..
์ž์˜์ž
์ˆ ๋งˆ์‹ ๋‹ค
์„ฑ์ธ
์„ฑ์ธ์€ ์ˆ  ๋งˆ์‹ ๋‹ค
์ง์žฅ์ธ์€ ๋งฅ์ฃผ๋ฅผ ๋งˆ์‹ ๋‹ค
์ž์˜์—…์ž๋Š” ์†Œ์ฃผ๋ฅผ ๋งˆ์‹ ๋‹ค
๋ถ€๋ชจ์˜ ํ–‰์œ„(๋ฉ”์„œ๋“œ)๋ฅผ ์žฌ
์ •์˜ํ•ด์„œ ์ž์‹์—์„œ ์žฌ์ •์˜
ํ•˜๋Š” ๊ฒƒ -> Overriding
Overriding ์ด์ „
Overriding ์ดํ›„
1. Class ์ƒ์† ( Extends )
8. Class ์ƒ์†
8-2. Class ์ƒ์† ( Extends )
07. super & this
Overriding ์ด์ „
Overriding ์ดํ›„
โžข ์ˆ ์„๋งˆ์‹ ๋‹ค๋ฅผ์ถœ๋ ฅํ•˜๊ณ ์‹ถ๋‹ค๋ฉด
super๋ฅผ ์ด์šฉํ•ด์„œ ๋ถ€๋ชจ ํ˜ธ์ถœ
โ€ข super :๋ถ€๋ชจ์˜๋ฉค๋ฒ„,๋ฉ”์„œ๋“œ๋ฅผ์ ‘๊ทผํ• ๋•Œ์‚ฌ์šฉ,private๋กœ์„ ์–ธ๊ฒƒ์€์ ‘๊ทผํ• ์ˆ˜์—†์Œ
โ€ข this :์ž๊ธฐ์ž์‹ ์˜๋ฉค๋ฒ„,๋ฉ”์„œ๋“œ์ ‘๊ทผ
โ€ข super() : ์ž์‹์ƒ์„ฑ์ž์—์„œ๋ถ€๋ชจ์˜์ƒ์„ฑ์ž์—์ ‘๊ทผํ•˜๊ธฐ์œ„ํ•ด์„œ์‚ฌ์šฉ
1. Class ์ƒ์† ( Extends )
8. Class ์ƒ์†
8-2. Class ์ƒ์† ( Extends )
08. super()
โ€ข super() : ์ž์‹์ƒ์„ฑ์ž์—์„œ๋ถ€๋ชจ์˜์ƒ์„ฑ์ž์—์ ‘๊ทผํ•˜๊ธฐ์œ„ํ•ด์„œ์‚ฌ์šฉ
1
2
3
โžข ์ฃผ์˜์‚ฌํ•ญ
โ€ข ์ƒ์„ฑ์ž๋ฅผOverLoading Method๋ฅผ๋งŒ๋“ค๋•Œ๋Š”๋งค๊ฐœ๋ณ€์ˆ˜์—†๋Š”๊ธฐ๋ณธ์ƒ์„ฑ์ž๋ฅผ
์ž‘์„ฑํ•ด์•ผํ•จ
โ€ข super()๋ฅผ ์‚ฌ์šฉ ํ•˜์—ฌ ๋ถ€๋ชจ ๊ฐ์ฒด๋ฅผ ์ ‘๊ทผ ํ•˜๋Š” ๊ฒฝ์šฐ super()์‹คํ–‰ ์ „์—
์•„๋ฌด๊ฒƒ๋„์‹คํ–‰ํ•˜๋ฉด์•ˆ๋จ
1. Abatract Class
8. Class ์ƒ์†
8-3. Abstract Class ์ƒ์† ( Extends )
โ€ข ์ถ”์ƒ๋ฉ”์„œ๋“œ๊ฐ€1๊ฐœ์ด์ƒํฌํ•จํ•˜๊ณ ์žˆ๋Š”ํด๋ž˜์Šค๋Š”๋ฐ˜๋“œ์‹œ์ถ”์ƒํด๋ž˜์Šค๋กœ์ •์˜ํ•ด์•ผํ•œ๋‹ค.
โ€ข ์ถ”์ƒ๋ฉ”์„œ๋“œ:๋ฉ”์„œ๋“œ์˜๋ณธ์ฒด๊ฐ€์—†๋Š”๋ฏธ์™„์„ฑ๋ฉ”์„œ๋“œ๋กœ์ƒ์†๋ฐ›์€ํด๋ž˜์Šค์—์„œ์‹ค์ฒดํ™”(๊ตฌํ˜„)ํ•ด์•ผํ•œ๋‹ค.
โ€œ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๊ฐ€ 1๊ฐœ ์ด์ƒ ํฌํ•จ ํ•˜๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค โ€
Abatract Class
โ€ฆ
์‚ฌ๋žŒ
โ€ฆ
์ˆ ๋งˆ์‹ ๋‹ค
์ง์žฅ์ธ
โ€ฆ
์ˆ ๋งˆ์‹ ๋‹ค
์ž์˜์ž
์ˆ ๋งˆ์‹ ๋‹ค
์„ฑ์ธ
โ€œ์„ฑ์ธ์ด ์ˆ ๋งˆ์‹ ๋‹ค.โ€๋ฅผ ์ถ”์ƒ
ํ•˜ ํ•˜๊ณ  ์ง์žฅ์ธ์ด ์ˆ  ๋งˆ์‹œ
๋‹ค๋Š” ๊ตฌ์ฒดํ™” ํ•œ๋‹ค.
์ถ”์ƒ ๋ฉ”์„œ๋“œ ์žˆ์Œ
์ถ”์ƒ ํด๋ž˜์Šค ์„ ์–ธ
์ถ”์ƒ ๋ฉ”์„œ๋“œ ๊ตฌํ˜„
1. Interface Class
8. Class ์ƒ์†
8-4. Interface Class ์ƒ์†
โ€ข Interface๋Š”์ž…์ถœ๋ ฅ์—์„œ์‚ฌ์šฉํ•˜๋Š”์šฉ์–ด๋กœ์„œ๋กœ๋‹ค๋ฅธ์‹œ์Šคํ…œ๊ฐ„์˜์—ฐ๋™์„์˜๋ฏธํ•œ๋‹ค.
โ€ข Interface๋Š” ์‹œ์Šคํ…œ ๋˜๋Š” ๊ฐ ๊ฐ์ฒด์˜ ์ข…๋ฅ˜์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ ํ•„๋“œ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณต ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ ๋œ๋‹ค.
โ€ข ์ž๋ฐ”์—์„œInterface๋Š”๊ฐ์ฒด๊ด€๊ณ„์—์„œ๋‹ค๋ฅธ๊ฐ์ฒด์—๊ฒŒ๊ณต๊ฐœํ• ๊ธฐ๋Šฅ๋งŒ์ถ”์ƒํ™”ํ•˜๊ธฐ์œ„ํ•œ์šฉ๋„๋กœ์‚ฌ์šฉ์ด๋œ๋‹ค.
โ€ข Class๋Œ€์‹ Interfaceํ‚ค์›Œ๋“œ๋ฅผ์‚ฌ์šฉํ•œ๋‹ค.
โ€œ์‹œ์Šคํ…œ ๋˜๋Š” ๊ฐ ๊ฐ์ฒด์˜ ์ข…๋ฅ˜์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ ํ•„๋“œ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตโ€
Interface Class
01. Interface ์ƒ์„ฑ
interface ์ธํ„ฐํŽ˜์ด์Šค๋ช… {
public static final ์ž๋ฃŒํ˜• ํ•„๋“œ๋ช… = ๊ฐ’;
public abstract ๋ฆฌํ„ดํƒ€์ž… ๋ฉ”์„œ๋“œ๋ช…();
default ์ž๋ฃŒํ˜• ๋ฉ”์„œ๋“œ(๋งค๊ฐœ๋ณ€์ˆ˜) { โ€ฆ )
}
interface ์ธํ„ฐํŽ˜์ด์Šค๋ช… {
์ž๋ฃŒํ˜• ํ•„๋“œ๋ช… = ๊ฐ’;
๋ฆฌํ„ดํƒ€์ž… ๋ฉ”์„œ๋“œ๋ช…();
default ์ž๋ฃŒํ˜• ๋ฉ”์„œ๋“œ(๋งค๊ฐœ๋ณ€์ˆ˜) { โ€ฆ )
}
์ƒ๋žต
1. Interface Class
8. Class ์ƒ์†
8-4. Interface Class ์ƒ์†
02. Interface ์ƒ์†
โ€ข implements๋ฅผ ์‚ฌ์šฉํ•จ
โ€ข implements๋Š” ๋‹ค์ค‘ ์ƒ์† ๊ฐ€๋Šฅ -> implements์ธํ„ฐํŽ˜์ด์Šค๋ช…,์ธํ„ฐํŽ˜์ด์Šค๋ช…
โ€ข extends์™€ ๊ฐ™์ด์‚ฌ์šฉํ•˜๋Š”๊ฒฝ์šฐextendsํด๋ž˜์Šค๋ช…implements์ธํ„ฐํŽ˜์ด์Šค๋ช…์ˆœ์„œ๋กœ์„ ์–ธํ•ด์•ผํ•จ
03. Interface ์‚ฌ์šฉ
์ธํ„ฐํŽ˜์ด์Šค๋ช… ์ฐธ์กฐ๋ณ€์ˆ˜ = new ๊ตฌํ˜„ํด๋ž˜์Šค();
class ํด๋ž˜์Šค๋ช… implements ์ธํ„ฐํŽ˜์ด์Šค๋ช… { .. }
class ํด๋ž˜์Šค๋ช… implements ์ธํ„ฐํŽ˜์ด์Šค๋ช…, ์ธํ„ฐํŽ˜์ด์Šค๋ช… { .. }
class ํด๋ž˜์Šค๋ช… extends ํด๋ž˜์Šค๋ช… implements ์ธํ„ฐํŽ˜์ด์Šค๋ช… { .. }
์ƒ์† ๋ฐ›์€ ๊ฐ์ฒด์— ์ž๋™
tatic final ๋กœ ์ž๋™ ์ถ”๊ฐ€ ๋จ

More Related Content

What's hot

แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ ๊ฐ์ฒด ํด๋ž˜์Šค แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ  ๊ฐ์ฒด ํด๋ž˜์Šค แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ตแ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ  ๊ฐ์ฒด ํด๋ž˜์Šค แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ ๊ฐ์ฒด ํด๋ž˜์Šค แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ตYong Joon Moon
ย 
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ Descriptorแ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160403
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ Descriptorแ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160403แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ Descriptorแ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160403
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ Descriptorแ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160403Yong Joon Moon
ย 
Java(1/4)
Java(1/4)Java(1/4)
Java(1/4)handfoot
ย 
Java(2/4)
Java(2/4)Java(2/4)
Java(2/4)handfoot
ย 
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160131
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160131แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160131
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160131Yong Joon Moon
ย 
[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 7 classes and_inheritance
[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 7 classes and_inheritance[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 7 classes and_inheritance
[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 7 classes and_inheritance์ •์—ฐ ์ตœ
ย 
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap. 6 ํด๋ž˜์Šค(CLASS)(KOR)
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap. 6 ํด๋ž˜์Šค(CLASS)(KOR)์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap. 6 ํด๋ž˜์Šค(CLASS)(KOR)
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap. 6 ํด๋ž˜์Šค(CLASS)(KOR)MIN SEOK KOO
ย 
[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 9. Properties and Fields
 [์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 9. Properties and Fields [์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 9. Properties and Fields
[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 9. Properties and Fields์ •์—ฐ ์ตœ
ย 
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„แ…ณแ†ฏแ„…แ…ขแ„‰แ…ณ+แ„€แ…ฎแ„Œแ…ฉ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160310
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„แ…ณแ†ฏแ„…แ…ขแ„‰แ…ณ+แ„€แ…ฎแ„Œแ…ฉ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160310แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„แ…ณแ†ฏแ„…แ…ขแ„‰แ…ณ+แ„€แ…ฎแ„Œแ…ฉ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160310
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„แ…ณแ†ฏแ„…แ…ขแ„‰แ…ณ+แ„€แ…ฎแ„Œแ…ฉ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160310Yong Joon Moon
ย 
Java lambda
Java lambdaJava lambda
Java lambdaHyosang Hong
ย 
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ตNAVER D2
ย 
ํŒŒ์ด์ฌ namespace Binding ์ดํ•ดํ•˜๊ธฐ
ํŒŒ์ด์ฌ namespace Binding ์ดํ•ดํ•˜๊ธฐ ํŒŒ์ด์ฌ namespace Binding ์ดํ•ดํ•˜๊ธฐ
ํŒŒ์ด์ฌ namespace Binding ์ดํ•ดํ•˜๊ธฐ Yong Joon Moon
ย 
Python class
Python classPython class
Python classHerren
ย 
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)beom kyun choi
ย 
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ class ๋ฐ function namespace ์ดํ•ดํ•˜๊ธฐ
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ class ๋ฐ function namespace ์ดํ•ดํ•˜๊ธฐแ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ class ๋ฐ function namespace ์ดํ•ดํ•˜๊ธฐ
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ class ๋ฐ function namespace ์ดํ•ดํ•˜๊ธฐYong Joon Moon
ย 
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap.11 ๊ธฐ๋ณธ API ํด๋ž˜์Šค(java)(KOR)
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap.11 ๊ธฐ๋ณธ API ํด๋ž˜์Šค(java)(KOR)์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap.11 ๊ธฐ๋ณธ API ํด๋ž˜์Šค(java)(KOR)
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap.11 ๊ธฐ๋ณธ API ํด๋ž˜์Šค(java)(KOR)MIN SEOK KOO
ย 

What's hot (16)

แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ ๊ฐ์ฒด ํด๋ž˜์Šค แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ  ๊ฐ์ฒด ํด๋ž˜์Šค แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ตแ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ  ๊ฐ์ฒด ํด๋ž˜์Šค แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ ๊ฐ์ฒด ํด๋ž˜์Šค แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต
ย 
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ Descriptorแ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160403
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ Descriptorแ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160403แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ Descriptorแ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160403
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ Descriptorแ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160403
ย 
Java(1/4)
Java(1/4)Java(1/4)
Java(1/4)
ย 
Java(2/4)
Java(2/4)Java(2/4)
Java(2/4)
ย 
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160131
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160131แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160131
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160131
ย 
[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 7 classes and_inheritance
[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 7 classes and_inheritance[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 7 classes and_inheritance
[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 7 classes and_inheritance
ย 
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap. 6 ํด๋ž˜์Šค(CLASS)(KOR)
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap. 6 ํด๋ž˜์Šค(CLASS)(KOR)์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap. 6 ํด๋ž˜์Šค(CLASS)(KOR)
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap. 6 ํด๋ž˜์Šค(CLASS)(KOR)
ย 
[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 9. Properties and Fields
 [์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 9. Properties and Fields [์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 9. Properties and Fields
[์ƒˆ์ฐจ์›, ์ฝ”ํ‹€๋ฆฐ(Kotlin) ๊ฐ•์ขŒ] 9. Properties and Fields
ย 
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„แ…ณแ†ฏแ„…แ…ขแ„‰แ…ณ+แ„€แ…ฎแ„Œแ…ฉ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160310
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„แ…ณแ†ฏแ„…แ…ขแ„‰แ…ณ+แ„€แ…ฎแ„Œแ…ฉ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160310แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„แ…ณแ†ฏแ„…แ…ขแ„‰แ…ณ+แ„€แ…ฎแ„Œแ…ฉ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160310
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ+แ„แ…ณแ†ฏแ„…แ…ขแ„‰แ…ณ+แ„€แ…ฎแ„Œแ…ฉ+แ„‹แ…ตแ„’แ…ขแ„’แ…กแ„€แ…ต 20160310
ย 
Java lambda
Java lambdaJava lambda
Java lambda
ย 
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
ย 
ํŒŒ์ด์ฌ namespace Binding ์ดํ•ดํ•˜๊ธฐ
ํŒŒ์ด์ฌ namespace Binding ์ดํ•ดํ•˜๊ธฐ ํŒŒ์ด์ฌ namespace Binding ์ดํ•ดํ•˜๊ธฐ
ํŒŒ์ด์ฌ namespace Binding ์ดํ•ดํ•˜๊ธฐ
ย 
Python class
Python classPython class
Python class
ย 
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)
ย 
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ class ๋ฐ function namespace ์ดํ•ดํ•˜๊ธฐ
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ class ๋ฐ function namespace ์ดํ•ดํ•˜๊ธฐแ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ class ๋ฐ function namespace ์ดํ•ดํ•˜๊ธฐ
แ„‘แ…กแ„‹แ…ตแ„Šแ…ฅแ†ซ class ๋ฐ function namespace ์ดํ•ดํ•˜๊ธฐ
ย 
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap.11 ๊ธฐ๋ณธ API ํด๋ž˜์Šค(java)(KOR)
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap.11 ๊ธฐ๋ณธ API ํด๋ž˜์Šค(java)(KOR)์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap.11 ๊ธฐ๋ณธ API ํด๋ž˜์Šค(java)(KOR)
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap.11 ๊ธฐ๋ณธ API ํด๋ž˜์Šค(java)(KOR)
ย 

Similar to Java extends

Hello, C# : OOP
Hello, C# : OOPHello, C# : OOP
Hello, C# : OOPYe Chan Lee
ย 
[C++ lab] 3. c++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
[C++ lab] 3. c++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ[C++ lab] 3. c++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
[C++ lab] 3. c++ ํ”„๋กœ๊ทธ๋ž˜๋ฐMinGeun Park
ย 
๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ
๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ
๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ์šฉํ˜ธ ์ตœ
ย 
Working with code
Working with codeWorking with code
Working with codeJaeYeoul Ahn
ย 
Java ๋‹คํ˜•์„ฑ
Java ๋‹คํ˜•์„ฑJava ๋‹คํ˜•์„ฑ
Java ๋‹คํ˜•์„ฑJaeYeoul Ahn
ย 
PHP์—์„œ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ์œ ์ง€
PHP์—์„œ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ์œ ์ง€PHP์—์„œ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ์œ ์ง€
PHP์—์„œ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ์œ ์ง€Yoonwhan Lee
ย 
๋”ฅ๋Ÿฌ๋‹ ์„ธ๊ณ„์— ์ž…๋ฌธํ•˜๊ธฐ ์œ„๋ฐ˜ ๋ถ„ํˆฌ
๋”ฅ๋Ÿฌ๋‹ ์„ธ๊ณ„์— ์ž…๋ฌธํ•˜๊ธฐ ์œ„๋ฐ˜ ๋ถ„ํˆฌ๋”ฅ๋Ÿฌ๋‹ ์„ธ๊ณ„์— ์ž…๋ฌธํ•˜๊ธฐ ์œ„๋ฐ˜ ๋ถ„ํˆฌ
๋”ฅ๋Ÿฌ๋‹ ์„ธ๊ณ„์— ์ž…๋ฌธํ•˜๊ธฐ ์œ„๋ฐ˜ ๋ถ„ํˆฌUbuntu Korea Community
ย 
๋งˆ์ดแ„แ…ขแ†ทแ„‘แ…ฅแ„‰แ…ณ แ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผแ„‰แ…ณแ„แ…ฎแ†ฏ(แ„’แ…กแ†ซ๋Œ) ํŒŒํŠธ#1-์ด๋ก 
๋งˆ์ดแ„แ…ขแ†ทแ„‘แ…ฅแ„‰แ…ณ แ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผแ„‰แ…ณแ„แ…ฎแ†ฏ(แ„’แ…กแ†ซ๋Œ) ํŒŒํŠธ#1-์ด๋ก ๋งˆ์ดแ„แ…ขแ†ทแ„‘แ…ฅแ„‰แ…ณ แ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผแ„‰แ…ณแ„แ…ฎแ†ฏ(แ„’แ…กแ†ซ๋Œ) ํŒŒํŠธ#1-์ด๋ก 
๋งˆ์ดแ„แ…ขแ†ทแ„‘แ…ฅแ„‰แ…ณ แ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผแ„‰แ…ณแ„แ…ฎแ†ฏ(แ„’แ…กแ†ซ๋Œ) ํŒŒํŠธ#1-์ด๋ก ๋งˆ์ด์บ ํผ์Šค
ย 
๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋… (์ซŒ ์•„๋Š”์ฒด ํ•˜๊ธฐ)
๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋… (์ซŒ ์•„๋Š”์ฒด ํ•˜๊ธฐ)๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋… (์ซŒ ์•„๋Š”์ฒด ํ•˜๊ธฐ)
๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋… (์ซŒ ์•„๋Š”์ฒด ํ•˜๊ธฐ)Seung-June Lee
ย 
OOP - Object Oriendted Programing
OOP - Object Oriendted ProgramingOOP - Object Oriendted Programing
OOP - Object Oriendted ProgramingChangHyeon Bae
ย 
Java_05 class
Java_05 classJava_05 class
Java_05 classHong Hyo Sang
ย 
Java, android ์Šคํ„ฐํ‹ฐ2
Java, android ์Šคํ„ฐํ‹ฐ2Java, android ์Šคํ„ฐํ‹ฐ2
Java, android ์Šคํ„ฐํ‹ฐ2Heejun Kim
ย 
์•ˆ.์ „.์ œ.์ผ. ๊ฐ•ํ™”ํ•™์Šต!
์•ˆ.์ „.์ œ.์ผ. ๊ฐ•ํ™”ํ•™์Šต!์•ˆ.์ „.์ œ.์ผ. ๊ฐ•ํ™”ํ•™์Šต!
์•ˆ.์ „.์ œ.์ผ. ๊ฐ•ํ™”ํ•™์Šต!Dongmin Lee
ย 
SW1์ฐจ ํ”„๋กœ์ ํŠธ Hive ์ตœ์ข…๋ฐœํ‘œ
SW1์ฐจ ํ”„๋กœ์ ํŠธ Hive ์ตœ์ข…๋ฐœํ‘œSW1์ฐจ ํ”„๋กœ์ ํŠธ Hive ์ตœ์ข…๋ฐœํ‘œ
SW1์ฐจ ํ”„๋กœ์ ํŠธ Hive ์ตœ์ข…๋ฐœํ‘œSinhyub Kim
ย 

Similar to Java extends (15)

Hello, C# : OOP
Hello, C# : OOPHello, C# : OOP
Hello, C# : OOP
ย 
[C++ lab] 3. c++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
[C++ lab] 3. c++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ[C++ lab] 3. c++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
[C++ lab] 3. c++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
ย 
๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ
๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ
๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ
ย 
Working with code
Working with codeWorking with code
Working with code
ย 
Python class
Python classPython class
Python class
ย 
Java ๋‹คํ˜•์„ฑ
Java ๋‹คํ˜•์„ฑJava ๋‹คํ˜•์„ฑ
Java ๋‹คํ˜•์„ฑ
ย 
PHP์—์„œ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ์œ ์ง€
PHP์—์„œ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ์œ ์ง€PHP์—์„œ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ์œ ์ง€
PHP์—์„œ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ์œ ์ง€
ย 
๋”ฅ๋Ÿฌ๋‹ ์„ธ๊ณ„์— ์ž…๋ฌธํ•˜๊ธฐ ์œ„๋ฐ˜ ๋ถ„ํˆฌ
๋”ฅ๋Ÿฌ๋‹ ์„ธ๊ณ„์— ์ž…๋ฌธํ•˜๊ธฐ ์œ„๋ฐ˜ ๋ถ„ํˆฌ๋”ฅ๋Ÿฌ๋‹ ์„ธ๊ณ„์— ์ž…๋ฌธํ•˜๊ธฐ ์œ„๋ฐ˜ ๋ถ„ํˆฌ
๋”ฅ๋Ÿฌ๋‹ ์„ธ๊ณ„์— ์ž…๋ฌธํ•˜๊ธฐ ์œ„๋ฐ˜ ๋ถ„ํˆฌ
ย 
๋งˆ์ดแ„แ…ขแ†ทแ„‘แ…ฅแ„‰แ…ณ แ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผแ„‰แ…ณแ„แ…ฎแ†ฏ(แ„’แ…กแ†ซ๋Œ) ํŒŒํŠธ#1-์ด๋ก 
๋งˆ์ดแ„แ…ขแ†ทแ„‘แ…ฅแ„‰แ…ณ แ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผแ„‰แ…ณแ„แ…ฎแ†ฏ(แ„’แ…กแ†ซ๋Œ) ํŒŒํŠธ#1-์ด๋ก ๋งˆ์ดแ„แ…ขแ†ทแ„‘แ…ฅแ„‰แ…ณ แ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผแ„‰แ…ณแ„แ…ฎแ†ฏ(แ„’แ…กแ†ซ๋Œ) ํŒŒํŠธ#1-์ด๋ก 
๋งˆ์ดแ„แ…ขแ†ทแ„‘แ…ฅแ„‰แ…ณ แ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผแ„‰แ…ณแ„แ…ฎแ†ฏ(แ„’แ…กแ†ซ๋Œ) ํŒŒํŠธ#1-์ด๋ก 
ย 
๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋… (์ซŒ ์•„๋Š”์ฒด ํ•˜๊ธฐ)
๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋… (์ซŒ ์•„๋Š”์ฒด ํ•˜๊ธฐ)๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋… (์ซŒ ์•„๋Š”์ฒด ํ•˜๊ธฐ)
๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋… (์ซŒ ์•„๋Š”์ฒด ํ•˜๊ธฐ)
ย 
OOP - Object Oriendted Programing
OOP - Object Oriendted ProgramingOOP - Object Oriendted Programing
OOP - Object Oriendted Programing
ย 
Java_05 class
Java_05 classJava_05 class
Java_05 class
ย 
Java, android ์Šคํ„ฐํ‹ฐ2
Java, android ์Šคํ„ฐํ‹ฐ2Java, android ์Šคํ„ฐํ‹ฐ2
Java, android ์Šคํ„ฐํ‹ฐ2
ย 
์•ˆ.์ „.์ œ.์ผ. ๊ฐ•ํ™”ํ•™์Šต!
์•ˆ.์ „.์ œ.์ผ. ๊ฐ•ํ™”ํ•™์Šต!์•ˆ.์ „.์ œ.์ผ. ๊ฐ•ํ™”ํ•™์Šต!
์•ˆ.์ „.์ œ.์ผ. ๊ฐ•ํ™”ํ•™์Šต!
ย 
SW1์ฐจ ํ”„๋กœ์ ํŠธ Hive ์ตœ์ข…๋ฐœํ‘œ
SW1์ฐจ ํ”„๋กœ์ ํŠธ Hive ์ตœ์ข…๋ฐœํ‘œSW1์ฐจ ํ”„๋กœ์ ํŠธ Hive ์ตœ์ข…๋ฐœํ‘œ
SW1์ฐจ ํ”„๋กœ์ ํŠธ Hive ์ตœ์ข…๋ฐœํ‘œ
ย 

More from Hyosang Hong

MSA_๊ธฐ์ดˆ์ž๋ฃŒ.pdf
MSA_๊ธฐ์ดˆ์ž๋ฃŒ.pdfMSA_๊ธฐ์ดˆ์ž๋ฃŒ.pdf
MSA_๊ธฐ์ดˆ์ž๋ฃŒ.pdfHyosang Hong
ย 
Java ์—ฐ์‚ฐ์ž
Java ์—ฐ์‚ฐ์žJava ์—ฐ์‚ฐ์ž
Java ์—ฐ์‚ฐ์žHyosang Hong
ย 
Java generic
Java genericJava generic
Java genericHyosang Hong
ย 
Java ์ œ์–ด
Java ์ œ์–ดJava ์ œ์–ด
Java ์ œ์–ดHyosang Hong
ย 
Java collection
Java collectionJava collection
Java collectionHyosang Hong
ย 
Spring ๊ต์œก ์ž๋ฃŒ
Spring ๊ต์œก ์ž๋ฃŒSpring ๊ต์œก ์ž๋ฃŒ
Spring ๊ต์œก ์ž๋ฃŒHyosang Hong
ย 
Map struct
Map structMap struct
Map structHyosang Hong
ย 
Kafka ์ž๋ฃŒ v0.1
Kafka ์ž๋ฃŒ v0.1Kafka ์ž๋ฃŒ v0.1
Kafka ์ž๋ฃŒ v0.1Hyosang Hong
ย 
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒJpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒHyosang Hong
ย 
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405Hyosang Hong
ย 
Java ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
Java ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™Java ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
Java ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™Hyosang Hong
ย 
Java stream v0.1
Java stream v0.1Java stream v0.1
Java stream v0.1Hyosang Hong
ย 
Spring ๊ต์œก ์ž๋ฃŒ
Spring ๊ต์œก ์ž๋ฃŒSpring ๊ต์œก ์ž๋ฃŒ
Spring ๊ต์œก ์ž๋ฃŒHyosang Hong
ย 
Map struct
Map structMap struct
Map structHyosang Hong
ย 
Kafka ์ž๋ฃŒ v0.1
Kafka ์ž๋ฃŒ v0.1Kafka ์ž๋ฃŒ v0.1
Kafka ์ž๋ฃŒ v0.1Hyosang Hong
ย 
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒJpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒHyosang Hong
ย 
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405Hyosang Hong
ย 
์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™Hyosang Hong
ย 
Java stream v0.1
Java stream v0.1Java stream v0.1
Java stream v0.1Hyosang Hong
ย 

More from Hyosang Hong (20)

MSA_๊ธฐ์ดˆ์ž๋ฃŒ.pdf
MSA_๊ธฐ์ดˆ์ž๋ฃŒ.pdfMSA_๊ธฐ์ดˆ์ž๋ฃŒ.pdf
MSA_๊ธฐ์ดˆ์ž๋ฃŒ.pdf
ย 
Java ์—ฐ์‚ฐ์ž
Java ์—ฐ์‚ฐ์žJava ์—ฐ์‚ฐ์ž
Java ์—ฐ์‚ฐ์ž
ย 
Java generic
Java genericJava generic
Java generic
ย 
Java ์ œ์–ด
Java ์ œ์–ดJava ์ œ์–ด
Java ์ œ์–ด
ย 
Java collection
Java collectionJava collection
Java collection
ย 
Spring ๊ต์œก ์ž๋ฃŒ
Spring ๊ต์œก ์ž๋ฃŒSpring ๊ต์œก ์ž๋ฃŒ
Spring ๊ต์œก ์ž๋ฃŒ
ย 
Map struct
Map structMap struct
Map struct
ย 
Kafka ์ž๋ฃŒ v0.1
Kafka ์ž๋ฃŒ v0.1Kafka ์ž๋ฃŒ v0.1
Kafka ์ž๋ฃŒ v0.1
ย 
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒJpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
ย 
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405
ย 
Java ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
Java ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™Java ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
Java ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
ย 
Enum
EnumEnum
Enum
ย 
Java stream v0.1
Java stream v0.1Java stream v0.1
Java stream v0.1
ย 
Spring ๊ต์œก ์ž๋ฃŒ
Spring ๊ต์œก ์ž๋ฃŒSpring ๊ต์œก ์ž๋ฃŒ
Spring ๊ต์œก ์ž๋ฃŒ
ย 
Map struct
Map structMap struct
Map struct
ย 
Kafka ์ž๋ฃŒ v0.1
Kafka ์ž๋ฃŒ v0.1Kafka ์ž๋ฃŒ v0.1
Kafka ์ž๋ฃŒ v0.1
ย 
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒJpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
ย 
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405
Java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ 20210405
ย 
์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
ย 
Java stream v0.1
Java stream v0.1Java stream v0.1
Java stream v0.1
ย 

Java extends

  • 1. JAVA Class ์ƒ์† ์ž‘์„ฑ์ž : ํ™ํšจ์ƒ ์ด๋ฉ”์ผ : hyomee@naver.com ์†Œ์Šค : https://github.com/hyomee/JAVA_EDU ํ”„๋กœ๊ทธ๋žจ์€ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ. ๋Š๋ ค๋„ ๊พธ์ค€ํ•˜๋ฉด ๊ฒฝ๊ธฐ์—์„œ ์ด๊ธด๋‹ค.
  • 2. Content ์†Œ์Šค : https://github.com/hyomee/JAVABASIC 8. Class ์ƒ์† 1. ๊ฐœ๋… 2. Class ์ƒ์† ( Extends ) 3. Abstract Class ์ƒ์† ( Extends ) 4. Interface Class ์ƒ์† ( Implements )
  • 3. 1. ๊ฐœ๋… 8. Class ์ƒ์† โ€ข ๋ถ€๋ชจํด๋ž˜์Šค๋ฅผ์„ฑ์งˆ์„์ž์‹ํด๋ž˜์Šค๊ฐ€ํฌํ•จ์‹œํ‚ค๋Š”๋ฌธ๋ฒ•์š”์†Œ โ€ข ๊ฐ์ฒด(์‚ฌ๋ฌผ)์˜๊ณตํ†ต์ ์ธ์„ฑ์งˆ(ํŠน์„ฑ)์„๋ชจ์•„์„œ ํด๋ž˜์Šค๋ฅผ๋งŒ๋“ค๊ณ ๋…๋ฆฝ์ ์ธ์„ฑ์งˆ์„ ๊ฐ๊ฐํด๋ž˜์Šค๋กœ๋งŒ๋“ค๋ฉด์ด๋•Œ๊ณตํ†ต์ ์ธ์„ฑ์งˆ์„๋ถ€๋ชจํด๋ž˜์Šค๋ผํ•˜๊ณ ๊ฐœ๋ณ„ํด๋ž˜์Šค๋ฅผ์ž์‹ํด๋ž˜์Šค๋ผํ•œ๋‹ค. โ€œ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ• ์š”์†Œ โ€ 8-1. ๊ฐœ๋… ํด๋ž˜์Šค ์ƒ์† ์ด๋ฆ„ ๋‚˜์ด ์ฆ๋ช…์„œ ๋ชธ๋ฌด๊ฒŒ ํ‚ค ๋จน๊ธฐ ์ž ์ž๊ธฐ ๋“ฑ๊ตํ•˜๊ธฐ ์ถœ๊ทผํ•˜๊ธฐ ์ˆ ๋งˆ์‹ ๋‹ค ๊ณต๋ถ€ํ•˜๊ธฐ ์ผํ•˜๊ธฐ ์‚ฌ๋žŒ ์ด๋ฆ„ ๋‚˜์ด ํ•™์ƒ์ฆ ๋ชธ๋ฌด๊ฒŒ ํ‚ค ๋จน๊ธฐ ์ž ์ž๊ธฐ ๋“ฑ๊ตํ•˜๊ธฐ ๊ณต๋ถ€ํ•˜๊ธฐ ํ•™์ƒ ์ด๋ฆ„ ๋‚˜์ด ์‚ฌ์›์ฆ ๋ชธ๋ฌด๊ฒŒ ํ‚ค ๋จน๊ธฐ ์ž ์ž๊ธฐ ๋“ฑ๊ตํ•˜๊ธฐ ์ถœ๊ทผํ•˜๊ธฐ ์ˆ ๋งˆ์‹ ๋‹ค ๊ณต๋ถ€ํ•˜๊ธฐ ์ผํ•˜๊ธฐ ์ง์žฅ์ธ ์ด๋ฆ„ ๋‚˜์ด ๋ชธ๋ฌด๊ฒŒ ํ‚ค ๋จน๊ธฐ ์ž ์ž๊ธฐ ์ˆ ๋งˆ์‹ ๋‹ค ์ผ๋ฐ˜์ธ ์ด๋ฆ„ ๋‚˜์ด ๋ชธ๋ฌด๊ฒŒ ํ‚ค ๋จน๊ธฐ ์ž ์ž๊ธฐ ์‚ฌ๋žŒ ํ•™์ƒ์ฆ ๋“ฑ๊ตํ•˜๊ธฐ ๊ณต๋ถ€ํ•˜๊ธฐ ํ•™์ƒ ์‚ฌ์›์ฆ ์ถœ๊ทผํ•˜๊ธฐ ์ˆ ๋งˆ์‹ ๋‹ค ๊ณต๋ถ€ํ•˜๊ธฐ ์ผํ•˜๊ธฐ ์ง์žฅ์ธ ์ˆ ๋งˆ์‹ ๋‹ค ์ผ๋ฐ˜์ธ ๊ณตํ†ต ์„ฑ์งˆ(ํŠน์ง•) ๊ฐœ๋ณ„ ์„ฑ์งˆ ๋ถ€๋ชจ ํด๋ž˜์Šค ์ž์‹ ํด๋ž˜์Šค ์ž์‹ ํด๋ž˜์Šค
  • 4. 1. ๊ฐœ๋… 8. Class ์ƒ์† โ€ข ์ค‘๋ณต๋˜๋Š”์†์„ฑ(์ƒํƒœ)๊ณผํ–‰๋™์„๋ณ„๋„๋กœ๊ด€๋ฆฌํ•˜์—ฌ์ค‘๋ณต์ฝ”๋“œ๋ฅผ์ œ๊ฑฐํ•œ๋‹ค.. -์ด๋ฆ„,๋‚˜์ด,๋ชธ๋ฌด๊ฒŒ,ํ‚ค,๋จน๊ธฐ,์ž ์ž๊ธฐ โ€ข ํ•™์ƒ์€์‚ฌ๋žŒ์ด๋‹ค,์ง์žฅ์ธ์€์‚ฌ๋žŒ์ด๋‹ค.์ง์žฅ์ธ์€์„ฑ์ธ์ด๋‹ค.์ผ๋ฐ˜์ธ๋„์„ฑ์ธ์ด๋‹ค.์ฒ˜๋Ÿผ๋‹ค์–‘ํ•œํ‘œํ˜„์„ํ• ์ˆ˜์žˆ๋Š”๊ฒƒ์„๋‹ค์–‘์„ฑ์ด๋ผํ•œ๋‹ค. โ€œ ์ƒ์†์€ ์ฝ”๋“œ ์ค‘๋ณต ์ œ๊ฑฐ์™€ ๋‹คํ˜•์„ฑ์„ ์œ„ํ•จ์ด๋‹ค.โ€ 8-1. ๊ฐœ๋… ๋‹ค์–‘์„ฑ ์ด๋ฆ„ ๋‚˜์ด ๋ชธ๋ฌด๊ฒŒ ํ‚ค ๋จน๊ธฐ ์ž ์ž๊ธฐ ์‚ฌ๋žŒ ํ•™์ƒ์ฆ ๋“ฑ๊ตํ•˜๊ธฐ ๊ณต๋ถ€ํ•˜๊ธฐ ํ•™์ƒ ์‚ฌ์›์ฆ ์ถœ๊ทผํ•˜๊ธฐ ์ˆ ๋งˆ์‹ ๋‹ค ์ผํ•˜๊ธฐ ์ง์žฅ์ธ ์ˆ ๋งˆ์‹ ๋‹ค ์ผ๋ฐ˜์ธ ์ด๋ฆ„ ๋‚˜์ด ๋ชธ๋ฌด๊ฒŒ ํ‚ค ๋จน๊ธฐ ์ž ์ž๊ธฐ ์‚ฌ๋žŒ ๊ณ ๋“ฑํ•™์ƒ ์‚ฌ์›์ฆ ์ถœ๊ทผํ•˜๊ธฐ ๊ณต๋ถ€ํ•˜๊ธฐ ์ผํ•˜๊ธฐ ์ง์žฅ์ธ ์ผ๋ฐ˜์ธ ์ˆ ๋งˆ์‹ ๋‹ค ์„ฑ์ธ ์ˆ ๋งˆ์‹ ๋‹ค ๋Œ€ํ•™์ƒ ํ•™์ƒ์ฆ ๋“ฑ๊ตํ•˜๊ธฐ ๊ณต๋ถ€ํ•˜๊ธฐ ํ•™์ƒ ์ƒ์„ธํ™”/๊ตฌ์ฒดํ™” ์กฐ์ƒ ํด๋ž˜์Šค ๋ถ€๋ชจ ํด๋ž˜์Šค ๋ถ€๋ชจ ํด๋ž˜์Šค ์ž์‹ ํด๋ž˜์Šค ์ž์‹ ํด๋ž˜์Šค ํ•™์ƒ์€ ์‚ฌ๋žŒ์ด๋‹ค. ์ง์žฅ์ธ์€ ์‚ฌ๋žŒ์ด๋‹ค. ์ผ๋ฐ˜์ธ์€ ์‚ฌ๋žŒ์ด๋‹ค. ๊ณ ๋“ฑํ•™์ƒ์€ ํ•™์ƒ์ด๋‹ค. ๊ณ ๋“ฑํ•™์ƒ์€ ์‚ฌ๋žŒ์ด๋‹ค. ๋Œ€ํ•™์ƒ์€ ์‚ฌ๋žŒ์ด๋‹ค. โ€ฆ. ์‚ฌ๋žŒ์€ ํ•™์ƒ์ด๋‹ค. -> ์ด์ƒํ•œ ํ‘œํ˜„์ž„ => ์ƒ์†์€ ์ž์‹์—์„œ ๋ถ€๋ชจ๋กœ ํ–ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  • 5. 1. ๊ฐœ๋… 8. Class ์ƒ์† โ€ข ์ค‘๋ณต๋˜๋Š”์†์„ฑ(์ƒํƒœ)๊ณผํ–‰๋™์„๋ณ„๋„๋กœ๊ด€๋ฆฌํ•˜์—ฌ์ค‘๋ณต์ฝ”๋“œ๋ฅผ์ œ๊ฑฐํ•œ๋‹ค.. -์ด๋ฆ„,๋‚˜์ด,๋ชธ๋ฌด๊ฒŒ,ํ‚ค,๋จน๊ธฐ,์ž ์ž๊ธฐ โ€ข ํ•™์ƒ์€์‚ฌ๋žŒ์ด๋‹ค,์ง์žฅ์ธ์€์‚ฌ๋žŒ์ด๋‹ค.์ง์žฅ์ธ์€์„ฑ์ธ์ด๋‹ค.์ผ๋ฐ˜์ธ๋„์„ฑ์ธ์ด๋‹ค.์ฒ˜๋Ÿผ๋‹ค์–‘ํ•œํ‘œํ˜„์„ํ• ์ˆ˜์žˆ๋Š”๊ฒƒ์„๋‹ค์–‘์„ฑ์ด๋ผํ•œ๋‹ค. โ€œ ์ƒ์†์€ ์ฝ”๋“œ ์ค‘๋ณต ์ œ๊ฑฐ์™€ ๋‹คํ˜•์„ฑ์„ ์œ„ํ•จ์ด๋‹ค.โ€ 8-1.๊ฐœ๋… ๋‹ค์–‘์„ฑ ์ด๋ฆ„ ๋‚˜์ด ๋ชธ๋ฌด๊ฒŒ ํ‚ค ๋จน๊ธฐ ์ž ์ž๊ธฐ ์‚ฌ๋žŒ ๊ณ ๋“ฑํ•™์ƒ ์‚ฌ์›์ฆ ์ถœ๊ทผํ•˜๊ธฐ ๊ณต๋ถ€ํ•˜๊ธฐ ์ผํ•˜๊ธฐ ์ง์žฅ์ธ ์ผ๋ฐ˜์ธ ์ˆ ๋งˆ์‹ ๋‹ค ์„ฑ์ธ ์ˆ ๋งˆ์‹ ๋‹ค ๋Œ€ํ•™์ƒ ํ•™์ƒ์ฆ ๋“ฑ๊ตํ•˜๊ธฐ ๊ณต๋ถ€ํ•˜๊ธฐ ํ•™์ƒ ์กฐ์ƒ ํด๋ž˜์Šค ๋ถ€๋ชจ ํด๋ž˜์Šค ๋ถ€๋ชจ ํด๋ž˜์Šค ์ž์‹ ํด๋ž˜์Šค ์ž์‹ ํด๋ž˜์Šค ๊ณ ๋“ฑํ•™์ƒ์€ ํ•™์ƒ์ด๋‹ค. ๊ณ ๋“ฑํ•™์ƒ์€ ์‚ฌ๋žŒ์ด๋‹ค. ๋Œ€ํ•™์ƒ์€ ์‚ฌ๋žŒ์ด๋‹ค. โ€ฆ. โžข ๋‹ค์–‘์„ฑํ‘œํ˜„ ์‚ฌ๋žŒ[ ] = { new ์‚ฌ๋žŒ(), new ์‚ฌ๋žŒ() }; ํ•™์ƒ[ ] = { new ํ•™์ƒ(), new ํ•™์ƒ(), new ํ•™์ƒ() }; ์‚ฌ๋žŒ[ ] = { new ์‚ฌ๋žŒ(), new ํ•™์ƒ(), new ์ง์žฅ์ธ(), new ์ผ๋ฐ˜์ธ() }; ์‚ฌ๋žŒ h01 = new ํ•™์ƒ(); ์‚ฌ๋žŒ h01 = new ์ง์žฅ์ธ(); ์‚ฌ๋žŒ h01 = new ์ผ๋ฐ˜์ธ(); โ€ข ๋ฐฐ์—ดํ‘œํ˜„(์ƒ์†๋˜์ง€์•Š์€์ƒํƒœ) -๋™์ผ์ž๋ฃŒํ˜•๋งŒ์š”์†Œ๋กœ๋  ์ˆ˜์žˆ์Œ โ€ข ๋ฐฐ์—ดํ‘œํ˜„(์ƒ์†๋จ) -๋ถ€๋ชจ์˜์„ฑ์งˆ(ํŠน์„ฑ)์„๋ชจ๋‘๋ฐ›์„์ˆ˜์žˆ์Œ -๋˜๋‹ค๋ฅธํ‘œํ˜„
  • 6. 1. Class ์ƒ์† ( Extends ) 8. Class ์ƒ์† 8-2. Class ์ƒ์† ( Extends ) 01. ํด๋ž˜์Šค์ƒ์„ฑ class ์ž์‹ํด๋ž˜์Šค extends ๋ถ€๋ชจํด๋ž˜์Šค { โ€ฆ. } ์‚ฌ๋žŒ ํ•™์ƒ ์ง์žฅ์ธ class ํ•™์ƒ extends ์‚ฌ๋žŒ { โ€ฆ } class ์ง์žฅ์ธ extends ์‚ฌ๋žŒ { โ€ฆ. } ์‚ฌ๋žŒ ๋ธŒ๋ฃจ์Šค๋ฒ„๋„ˆ๋ฐ•์‚ฌ ํ—ํฌ class ๋ธŒ๋ฃจ์Šค๋ฒ„๋„ˆ๋ฐ•์‚ฌ extends ์‚ฌ๋žŒ, ํ—ํฌ { โ€ฆ } โžข ๋‹ค์ค‘์ƒ์†->์ž๋ฐ”์—์„œ๋Š”ํ—ˆ์šฉํ•˜์ง€์•Š์Œ ๋ธŒ๋ฃจ์Šค๋ฒ„๋„ˆ๋ฐ•์‚ฌ๊ฐ€ ๋‹ฌ๋ฆฐ๋‹ค -> ๋ˆ„๊ฐ€ ๋‹ฌ๋ฆฌ๋Š” ๊ฒƒ์ธ๊ฐ€ ? => ๋ชจํ˜ธ์„ฑ์ด ๋ฐœ์ƒํ•จ
  • 7. 1. Class ์ƒ์† ( Extends ) 8. Class ์ƒ์† 8-2. Class ์ƒ์† ( Extends ) 02. ํด๋ž˜์Šค์ƒ์„ฑ์‹œ๋ฉ”๋ชจ๋ฆฌ๊ตฌ์กฐ โžข ์‚ฌ์šฉ ์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ ์˜์—ญ Stack ์˜์—ญ Heap ์˜์—ญ eat() {} sleep() {} goToSchool() study() Human Student student 100 Human ๊ฐ์ฒด ( Objects ) Student ๊ฐ์ฒด ( Objects ) name age weight height eat() sleep()) studentId goToSchool() study() 100 ๋ฒˆ์ง€
  • 8. 1. Class ์ƒ์† ( Extends ) 8. Class ์ƒ์† 8-2. Class ์ƒ์† ( Extends ) 03. ๋ถ€๋ชจ๊ฐ์ฒด์—์ƒ์„ฑ์ž๋Š”์ƒ์†๋Œ€์ƒ์ด์•„๋‹ˆ๋‹ค. Invalid method declaration; return type required -> ๋ถ€๋ชจ ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž๋ฅผ ์žฌ์ •์˜ ํ•˜๋ ค๊ณ  ํ•ด์„œ ๋‚˜๋Š” ์˜ค๋ฅ˜ -> ์ž์‹ ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋กœ ์‚ฌ์šฉ ํ•˜์—ฌ์•ผ ํ•จ ์ƒ์„ฑ์ž๋Š” ๋ฆฌํ„ด ํƒ€์ž…์ด ์—†์Œ ๋ฆฌํ„ด ํƒ€์ž…์ด ์žˆ๋Š” ๊ฒƒ์€ ๋ฉ”์„œ๋“œ 04. ๋‹ค์–‘์„ฑ Human Student Adult Worker SelfEmployed CollegeStudent HighSchoolStudent public class Human { } public class Adult extends Human { } public class Worker extends Adult { } public class SlefEmpolyed extends Adult { } public class Student extends Human { } public class CollegeStudent extends Student { } public class HighSchoolStudent extends Student { } โ€ข ๊ฐ์ฒด๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ๋‹ค. -> ์ค‘ํ•™์ƒ, ์ดˆ๋“ฑํ•™์ƒ โ€ฆ..
  • 9. 1. Class ์ƒ์† ( Extends ) 8. Class ์ƒ์† 8-2. Class ์ƒ์† ( Extends ) 05. ๊ฐ์ฒด์ƒ์„ฑ์‹œํƒ€์ž… class com.hyomee.extend.Human cannot be cast to class com.hyomee.extend.Student java.lang.ClassCastException: class com.hyomee.extend.Human cannot be cast to class com.hyomee.extend.Student java.lang.ClassCastException: class com.hyomee.extend.Human cannot be cast to class com.hyomee.extend.Student Up Casting : Human human = (Human) student : compiler์— ์˜ํ•ด์„œ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ -> Human์œผ๋กœ ์ „ํ™” ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— student์˜ ์„ฑ์งˆ(ํŠน์„ฑ)์€ ์‚ฌ๋ผ์ง -> Human์˜ ๋ฉค๋ฒ„, ๋ฉ”์„œ๋“œ ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ Down Casting : ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ•ด์•ผ ํ•จ -> Student ๊ฐ์ฒด๋ฅผ ๋ณ€ํ™˜ ํ•จ -> Human, Student ์˜ ๋ชจ๋“  ์†์„ฑ(๋ฉค๋ฒ„), ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ Student๋Š” Human๋ฅผ ์ƒ์† ๋ฐ›์•„์„œ Human์˜ ๋ชจ๋“  ์„ฑ์งˆ(ํŠน์„ฑ)์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Œ -> Human, Student ์˜ ๋ชจ๋“  ์†์„ฑ(๋ฉค๋ฒ„), ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ Student๋ฅผ ์‚ฌ์šฉ ํ•ด์„œ Human์œผ๋กœ ์ƒ์„ฑ๋จ -> Student์˜ ์†์„ฑ(๋ฉค๋ฒ„), ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ -> Human์˜ ๋ฉค๋ฒ„, ๋ฉ”์„œ๋“œ ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ Human ๊ฐ์ฒด ์ƒ์„ฑ -> Human์˜ ๋ฉค๋ฒ„, ๋ฉ”์„œ๋“œ ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ X X X
  • 10. 1. Class ์ƒ์† ( Extends ) 8. Class ์ƒ์† 8-2. Class ์ƒ์† ( Extends ) 05. ๊ฐ์ฒดํƒ€์ž…ํ™•์ธ(instanceof ) 06. Method Overriding โ€ฆ ์‚ฌ๋žŒ โ€ฆ ์ˆ ๋งˆ์‹ ๋‹ค ์ง์žฅ์ธ โ€ฆ ์ˆ ๋งˆ์‹ ๋‹ค ์ž์˜์ž ์ˆ ๋งˆ์‹ ๋‹ค ์„ฑ์ธ โ€ฆ ์‚ฌ๋žŒ โ€ฆ ์ง์žฅ์ธ โ€ฆ.. ์ž์˜์ž ์ˆ ๋งˆ์‹ ๋‹ค ์„ฑ์ธ ์„ฑ์ธ์€ ์ˆ  ๋งˆ์‹ ๋‹ค ์ง์žฅ์ธ์€ ๋งฅ์ฃผ๋ฅผ ๋งˆ์‹ ๋‹ค ์ž์˜์—…์ž๋Š” ์†Œ์ฃผ๋ฅผ ๋งˆ์‹ ๋‹ค ๋ถ€๋ชจ์˜ ํ–‰์œ„(๋ฉ”์„œ๋“œ)๋ฅผ ์žฌ ์ •์˜ํ•ด์„œ ์ž์‹์—์„œ ์žฌ์ •์˜ ํ•˜๋Š” ๊ฒƒ -> Overriding Overriding ์ด์ „ Overriding ์ดํ›„
  • 11. 1. Class ์ƒ์† ( Extends ) 8. Class ์ƒ์† 8-2. Class ์ƒ์† ( Extends ) 07. super & this Overriding ์ด์ „ Overriding ์ดํ›„ โžข ์ˆ ์„๋งˆ์‹ ๋‹ค๋ฅผ์ถœ๋ ฅํ•˜๊ณ ์‹ถ๋‹ค๋ฉด super๋ฅผ ์ด์šฉํ•ด์„œ ๋ถ€๋ชจ ํ˜ธ์ถœ โ€ข super :๋ถ€๋ชจ์˜๋ฉค๋ฒ„,๋ฉ”์„œ๋“œ๋ฅผ์ ‘๊ทผํ• ๋•Œ์‚ฌ์šฉ,private๋กœ์„ ์–ธ๊ฒƒ์€์ ‘๊ทผํ• ์ˆ˜์—†์Œ โ€ข this :์ž๊ธฐ์ž์‹ ์˜๋ฉค๋ฒ„,๋ฉ”์„œ๋“œ์ ‘๊ทผ โ€ข super() : ์ž์‹์ƒ์„ฑ์ž์—์„œ๋ถ€๋ชจ์˜์ƒ์„ฑ์ž์—์ ‘๊ทผํ•˜๊ธฐ์œ„ํ•ด์„œ์‚ฌ์šฉ
  • 12. 1. Class ์ƒ์† ( Extends ) 8. Class ์ƒ์† 8-2. Class ์ƒ์† ( Extends ) 08. super() โ€ข super() : ์ž์‹์ƒ์„ฑ์ž์—์„œ๋ถ€๋ชจ์˜์ƒ์„ฑ์ž์—์ ‘๊ทผํ•˜๊ธฐ์œ„ํ•ด์„œ์‚ฌ์šฉ 1 2 3 โžข ์ฃผ์˜์‚ฌํ•ญ โ€ข ์ƒ์„ฑ์ž๋ฅผOverLoading Method๋ฅผ๋งŒ๋“ค๋•Œ๋Š”๋งค๊ฐœ๋ณ€์ˆ˜์—†๋Š”๊ธฐ๋ณธ์ƒ์„ฑ์ž๋ฅผ ์ž‘์„ฑํ•ด์•ผํ•จ โ€ข super()๋ฅผ ์‚ฌ์šฉ ํ•˜์—ฌ ๋ถ€๋ชจ ๊ฐ์ฒด๋ฅผ ์ ‘๊ทผ ํ•˜๋Š” ๊ฒฝ์šฐ super()์‹คํ–‰ ์ „์— ์•„๋ฌด๊ฒƒ๋„์‹คํ–‰ํ•˜๋ฉด์•ˆ๋จ
  • 13. 1. Abatract Class 8. Class ์ƒ์† 8-3. Abstract Class ์ƒ์† ( Extends ) โ€ข ์ถ”์ƒ๋ฉ”์„œ๋“œ๊ฐ€1๊ฐœ์ด์ƒํฌํ•จํ•˜๊ณ ์žˆ๋Š”ํด๋ž˜์Šค๋Š”๋ฐ˜๋“œ์‹œ์ถ”์ƒํด๋ž˜์Šค๋กœ์ •์˜ํ•ด์•ผํ•œ๋‹ค. โ€ข ์ถ”์ƒ๋ฉ”์„œ๋“œ:๋ฉ”์„œ๋“œ์˜๋ณธ์ฒด๊ฐ€์—†๋Š”๋ฏธ์™„์„ฑ๋ฉ”์„œ๋“œ๋กœ์ƒ์†๋ฐ›์€ํด๋ž˜์Šค์—์„œ์‹ค์ฒดํ™”(๊ตฌํ˜„)ํ•ด์•ผํ•œ๋‹ค. โ€œ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๊ฐ€ 1๊ฐœ ์ด์ƒ ํฌํ•จ ํ•˜๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค โ€ Abatract Class โ€ฆ ์‚ฌ๋žŒ โ€ฆ ์ˆ ๋งˆ์‹ ๋‹ค ์ง์žฅ์ธ โ€ฆ ์ˆ ๋งˆ์‹ ๋‹ค ์ž์˜์ž ์ˆ ๋งˆ์‹ ๋‹ค ์„ฑ์ธ โ€œ์„ฑ์ธ์ด ์ˆ ๋งˆ์‹ ๋‹ค.โ€๋ฅผ ์ถ”์ƒ ํ•˜ ํ•˜๊ณ  ์ง์žฅ์ธ์ด ์ˆ  ๋งˆ์‹œ ๋‹ค๋Š” ๊ตฌ์ฒดํ™” ํ•œ๋‹ค. ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์žˆ์Œ ์ถ”์ƒ ํด๋ž˜์Šค ์„ ์–ธ ์ถ”์ƒ ๋ฉ”์„œ๋“œ ๊ตฌํ˜„
  • 14. 1. Interface Class 8. Class ์ƒ์† 8-4. Interface Class ์ƒ์† โ€ข Interface๋Š”์ž…์ถœ๋ ฅ์—์„œ์‚ฌ์šฉํ•˜๋Š”์šฉ์–ด๋กœ์„œ๋กœ๋‹ค๋ฅธ์‹œ์Šคํ…œ๊ฐ„์˜์—ฐ๋™์„์˜๋ฏธํ•œ๋‹ค. โ€ข Interface๋Š” ์‹œ์Šคํ…œ ๋˜๋Š” ๊ฐ ๊ฐ์ฒด์˜ ์ข…๋ฅ˜์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ ํ•„๋“œ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณต ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ ๋œ๋‹ค. โ€ข ์ž๋ฐ”์—์„œInterface๋Š”๊ฐ์ฒด๊ด€๊ณ„์—์„œ๋‹ค๋ฅธ๊ฐ์ฒด์—๊ฒŒ๊ณต๊ฐœํ• ๊ธฐ๋Šฅ๋งŒ์ถ”์ƒํ™”ํ•˜๊ธฐ์œ„ํ•œ์šฉ๋„๋กœ์‚ฌ์šฉ์ด๋œ๋‹ค. โ€ข Class๋Œ€์‹ Interfaceํ‚ค์›Œ๋“œ๋ฅผ์‚ฌ์šฉํ•œ๋‹ค. โ€œ์‹œ์Šคํ…œ ๋˜๋Š” ๊ฐ ๊ฐ์ฒด์˜ ์ข…๋ฅ˜์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ ํ•„๋“œ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตโ€ Interface Class 01. Interface ์ƒ์„ฑ interface ์ธํ„ฐํŽ˜์ด์Šค๋ช… { public static final ์ž๋ฃŒํ˜• ํ•„๋“œ๋ช… = ๊ฐ’; public abstract ๋ฆฌํ„ดํƒ€์ž… ๋ฉ”์„œ๋“œ๋ช…(); default ์ž๋ฃŒํ˜• ๋ฉ”์„œ๋“œ(๋งค๊ฐœ๋ณ€์ˆ˜) { โ€ฆ ) } interface ์ธํ„ฐํŽ˜์ด์Šค๋ช… { ์ž๋ฃŒํ˜• ํ•„๋“œ๋ช… = ๊ฐ’; ๋ฆฌํ„ดํƒ€์ž… ๋ฉ”์„œ๋“œ๋ช…(); default ์ž๋ฃŒํ˜• ๋ฉ”์„œ๋“œ(๋งค๊ฐœ๋ณ€์ˆ˜) { โ€ฆ ) } ์ƒ๋žต
  • 15. 1. Interface Class 8. Class ์ƒ์† 8-4. Interface Class ์ƒ์† 02. Interface ์ƒ์† โ€ข implements๋ฅผ ์‚ฌ์šฉํ•จ โ€ข implements๋Š” ๋‹ค์ค‘ ์ƒ์† ๊ฐ€๋Šฅ -> implements์ธํ„ฐํŽ˜์ด์Šค๋ช…,์ธํ„ฐํŽ˜์ด์Šค๋ช… โ€ข extends์™€ ๊ฐ™์ด์‚ฌ์šฉํ•˜๋Š”๊ฒฝ์šฐextendsํด๋ž˜์Šค๋ช…implements์ธํ„ฐํŽ˜์ด์Šค๋ช…์ˆœ์„œ๋กœ์„ ์–ธํ•ด์•ผํ•จ 03. Interface ์‚ฌ์šฉ ์ธํ„ฐํŽ˜์ด์Šค๋ช… ์ฐธ์กฐ๋ณ€์ˆ˜ = new ๊ตฌํ˜„ํด๋ž˜์Šค(); class ํด๋ž˜์Šค๋ช… implements ์ธํ„ฐํŽ˜์ด์Šค๋ช… { .. } class ํด๋ž˜์Šค๋ช… implements ์ธํ„ฐํŽ˜์ด์Šค๋ช…, ์ธํ„ฐํŽ˜์ด์Šค๋ช… { .. } class ํด๋ž˜์Šค๋ช… extends ํด๋ž˜์Šค๋ช… implements ์ธํ„ฐํŽ˜์ด์Šค๋ช… { .. } ์ƒ์† ๋ฐ›์€ ๊ฐ์ฒด์— ์ž๋™ tatic final ๋กœ ์ž๋™ ์ถ”๊ฐ€ ๋จ