ํด๋์ค ๋๋ ์์ฑ์ ํจ์์์ ํ๋กํ ํ์
๋ฉ์๋
์ ์ ์ ๋ฉ์๋
์ ์ฐจ์ด์ ์ ์์ฑํ์์ค.
1. ํ๋กํ ํ์
๋ฉ์๋์ ์ ์ ๋ฉ์๋๋ ์์ ์ด ์ํด ์๋ ํ๋กํ ํ์
์ฒด์ธ์ด ๋ค๋ฅด๋ค.
(ํ๋กํ ํ์
๋ฉ์๋๋ ์ธ์คํด์ค์ ํ๋กํ ํ์
์ ๋ฉ์๋์ด๊ณ , ์ ์ ๋ฉ์๋๋ ํฌ๋์ค ๋๋ ์์ฑ์ ํจ์์ ๋ฉ์๋์ด๋ค.)
2. ํ๋กํ ํ์
๋ฉ์๋๋ ์ธ์คํด์ค๋ฅผ ํตํด ํธ์ถํ ์ ์๊ณ , ์ ์ ๋ฉ์๋๋ ํด๋์ค ๋๋ ์์ฑ์ ํจ์๋ฅผ ํตํด ํธ์ถํ ์ ์๋ค.
3. ํ๋กํ ํ์
๋ฉ์๋๋ ์ธ์คํด์ค์ ํ๋กํผํฐ๋ฅผ ์ฐธ์กฐํ ์ ์์ง๋ง, ์ ์ ๋ฉ์๋๋ ์ธ์คํด์ค ํ๋กํผํฐ๋ฅผ ์ฐธ์กฐํ ์ ์๋ค.
์๋ ๋ ์ฝ๋์ ์ฐจ์ด์ ์ ์์ฑํ์์ค.
// ์ฝ๋1
class Person {
name = 'Kim' ;
}
// ์ฝ๋2
class Person {
constructor ( ) {
this . name = 'Kim' ;
}
}
์ฐจ์ด์ ์ ์์ต๋๋ค.
์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ ์ธ๋ถ ์ด๊ธฐ๊ฐ์ผ๋ก ํด๋์ค ํ๋๋ฅผ ์ด๊ธฐํํ ํ์๊ฐ ์๋ค๋ฉด ์ฝ๋1์ ๋ฐฉ์์ ์ฌ์ฉํ๊ณ ,
์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ ์ธ๋ถ ์ด๊ธฐ๊ฐ์ผ๋ก ํด๋์ค ํ๋๋ฅผ ์ด๊ธฐํํ ํ์๊ฐ ์๋ค๋ฉด ์ฝ๋2์ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
๋ค์ ๋ณด๊ธฐ์ True
, False
๋ฅผ ํ๋จํ์์ค.
(1) : ํด๋์ค, ์์ฑ์ ํจ์ ๋ชจ๋ ์๋ฌต์ ์ผ๋ก strict mode๊ฐ ์ง์ ๋๋ค.
(2) : ํด๋์ค ์ด๋ฆ์ผ๋ก ํ์ค์นผ ์ผ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
(3) : ํด๋์ค๋ ์ผ๊ธ ๊ฐ์ฒด์ด๋ฏ๋ก ํจ์์ ๋ฐํ๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
(4) : ํด๋์ค์ ํ๋กํ ํ์
๋ฉ์๋๋ฅผ ์์ฑํ ๋๋ static ์ด๋ผ๋ ํค์๋๋ฅผ ์ฌ์ฉํ๋ค.
(5) : ํด๋์ค ์ ์ธ๋ฌธ์ผ๋ก ์ ์ํ ํด๋์ค๋ ์์ค์ฝ๋ ํ๊ฐ ๊ณผ์ (๋ฐํ์ ์ด์ )์ ๋จผ์ ํ๊ฐ๋๋ค.
(6) : ํด๋์ค ์ ์ธ๋ฌธ์ let, const ํค์๋๋ก ์ ์ธํ ๋ณ์์ฒ๋ผ ํธ์ด์คํ
์๋์ด ์ผ์์ ์ฌ๊ฐ์ง๋์ ๋น ์ง ์ํ์ด ์๋ค.
(7) : ํด๋์ค์ constructor ๋ฉ์๋ ๋ด๋ถ์ this๋ ํด๋์ค๊ฐ ์์ฑํ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
(8) : ํด๋์ค์ constructor ๋ฉ์๋ ๋ฐํ๊ฐ์ ์์ฑํ๋ฉด ์๋ฌต์ ์ธ this ๋ฐํ์ด ๋ฌด์๋๋ค.
(1) : False (p418)
ํด๋์ค ๋ด์ ๋ชจ๋ ์ฝ๋์๋ ์๋ฌต์ ์ผ๋ก strict mode๊ฐ ์ง์ ๋์ด ์คํ๋๋ฉฐ strict mode๋ฅผ ํด์ ํ ์ ์๋ค.
ํ์ง๋ง ์์ฑ์ ํจ์๋ ์๋ฌต์ ์ผ๋ก strict mode๊ฐ ์ง์ ๋์ง ์๋๋ค.
(2) : True (p419)
(3) : True (p419)
(4) : False (p420)
ํด๋์ค์ ์ ์ ๋ฉ์๋๋ฅผ ์์ฑํ ๋ static ์ด๋ผ๋ ํค์๋๋ฅผ ์ฌ์ฉํ๋ค.
(5) : True (p421)
(6) : False (p422)
ํด๋์ค ์ ์ธ๋ฌธ์ let, const ํค์๋๋ก ์ ์ธํ ๋ณ์์ฒ๋ผ ํธ์ด์คํ
๋์ด ์ผ์์ ์ฌ๊ฐ์ง๋์ ๋น ์ง ์ํ์ด ์๋ค.
(7) : True (p425)
(8) : False (p428)
๋ช
์์ ์ผ๋ก ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ฉด ์๋ฌต์ ์ธ this ๋ฐํ์ด ๋ฌด์๋๋ค.
ํ์ง๋ง ์์๊ฐ์ ๋ฐํํ๋ฉด ์์๊ฐ ๋ฐํ์ด ๋ฌด์๋๊ณ ์๋ฌต์ ์ผ๋ก this๊ฐ ๋ฐํ๋๋ค.
๋ค์์ ๋ณด๊ณ true
or false
๋ฅผ ๊ณ ๋ฅด์์ค
1. ES6์์ ๋์
๋ class๋ ํด๋์ค ๊ธฐ๋ฐ ๊ฐ์ฒด์งํฅ ๋ชจ๋ธ์ ์ง์ํ๋ค .
2. class๋ ํจ์์ ๊ฐ์ด 1 ๊ธ ๊ฐ์ฒด์ด๋ค .
3. typeof Person === `function`
4. ํด๋์ค ์ ์ธ๋ฌธ์ผ๋ก ์ ์ํ ํด๋์ค๋ ๋ฐํ์ ์ด์ ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ,
๊ทธ ๋๋ฌธ์ ํด๋์ค ์ ์ ์ด์ ์ ์ฐธ์กฐํ ์ ์๋ค .
1. false - ๋ด๋ถ์ ์ผ๋ก๋ ํ๋กํ ํ์
๋ชจ๋ธ์ด๋ค
2. true - 1๊ธ ๊ฐ์ฒด๋ก ํ๊ฐ๋๋ค
3. true - class๋ ํจ์๋ก ์ทจ๊ธ๋๋ค.
4. false - ๋ฐํ์ ์ด์ ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง๋ง const, let ๊ณผ ๊ฐ์ด ์๋ํ๊ธฐ ๋๋ฌธ์ ์ฐธ์กฐํ ์ ์๋ค.
๋ค์ ํด๋์ค
์ ์์ฑ์ ํจ์
์ ์ ์ ๋ฐฉ์์ ์ง์ง์ด ์ฃผ์ธ์.
var Person = ( function ( ) {
function Person ( name ) { // A
this . name = name ;
}
Person . prototype . sayHello = function ( ) { // B
console . log ( `Hello` ) ;
}
Person . sayHello = function ( ) { // C
console . log ( 'Hello' ) ;
}
return Person ;
} ) ( ) ;
class Person {
constructor ( name ) { // 1
this . name = name ;
}
static sayHello ( ) { // 2
console . log ( "Hello!" ) ;
}
sayHello ( ) { // 3
console . log ( `Hello` )
}
}
๋ค์ ์ค ์ค๋ฅ๊ฐ ๋๋ ๊ฒ์ ๋ชจ๋ ๊ณ ๋ฅด์์ค.
// 1
class Person1 { }
// 2
class Person2 {
constructor ( ) { }
constructor ( ) { }
}
// 3
class Person3 {
constructor ( name ) {
this . name = name ;
}
static print ( ) {
console . log ( name )
}
}
// 4
class Person4 {
constructor ( name ) {
this . name = name ;
return name ;
}
}
2
1 - ์๋ฌต์ ์ผ๋ก ๋น constructor ๊ฐ ์ ์๋๋ค
2 - constructor๋ 1๊ฐ์ฌ์ผ๋ง ํ๋ค. ๋ฐ๋ผ์ ์๋ฌ๊ฐ ๋๋ค.
3- ์ ์ ๋ฉ์๋๋ ์ธ์คํด์ค์ ํ๋กํผํฐ๋ฅผ ์ฐธ์กฐํ ์ ์๋ค. ๋ฐ๋ผ์ ์๋ฌด๊ฒ๋ ์ถ๋ ฅ๋์ง ์๋๋ค.
4 - ๊ฐ์ฒด๊ฐ ์๋๋ฉด ์๋ฌต์ ์ผ๋ก ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. return ๋ฌธ์ constructor ๋ด๋ถ์์ ์ฐ์ง ์์์ผ ํ๋ค.
๋ค์ ๋ฌธ์ฅ์ true
or false
๋ฅผ ํ๋จํ์ธ์.
(1) ์์ฑ์ ํจ์๋ new ์ฐ์ฐ์ ์์ด ํธ์ถํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
(2) ํด๋์ค๋ ์์์ ์ง์ํ๋ extends์ super ํค์๋๋ฅผ ์ง์ํ์ง ์๋๋ค.
(3) ํด๋์ค ๋ด์ ๋ชจ๋ ์ฝ๋์๋ ์๋ฌต์ ์ผ๋ก strict mode๊ฐ ์ง์ ๋์ด ์คํ๋๋ค.
(4) ํด๋์ค๋ ์ผ๊ธ๊ฐ์ฒด์ด๋ค.
418p
(1) false
ํด๋์ค๋ฅผ new์ฐ์ฐ์ ์์ด ํธ์ถํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
ํ์ง๋ง ์์ฑ์ ํจ์๋ฅผ new์ฐ์ฐ์ ์์ด ํธ์ถํ๋ฉด ์ผ๋ฐ ํจ์๋ก์ ํธ์ถ๋๋ค.
(2) false
ํด๋์ค๋ ์์์ ์ง์ํ๋ extends์ super ํค์๋๋ฅผ ์ ๊ณตํ๋ค.
ํ์ง๋ง ์์ฑ์ ํจ์๋ extends์ super ํค์๋๋ฅผ ์ง์ํ์ง ์๋๋ค.
(3) true
ํด๋์ค ๋ด์ ๋ชจ๋ ์ฝ๋์๋ ์๋ฌต์ ์ผ๋ก strict mode๊ฐ ์ง์ ๋์ด ์คํ๋๋ฉฐ, strict mode๋ฅผ ํด์ ํ ์ ์๋ค.
ํ์ง๋ง ์์ฑ์ ํจ์๋ ์๋ฌต์ ์ผ๋ก strict mode๊ฐ ์ง์ ๋์ง ์๋๋ค.
(4) true
419p
ํด๋์ค๋ ํจ์๋ค. ๋ฐ๋ผ์ ํด๋์ค๋ ๊ฐ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ ์ผ๊ธ ๊ฐ์ฒด์ด๋ค.
๋ค์ ์ฝ๋์ ๋ฌธ์ ์ ์ ์์ฑํ์ธ์.
console . log ( Person ) ;
class Person { }
class Person { }
const me = Person ( ) ;
console . log ( me ) ;
const Person = class MyClass { } ;
const me = new Person ( ) ;
console . log ( MyClass ) ;
const you = new MyClass ( ) ;
(1) 421p
ReferenceError: Cannot access 'Person' before initialization
ํด๋์ค๋ ํด๋์ค ์ ์ ์ด์ ์ ์ฐธ์กฐํ ์ ์๋ค.
(2) 422p
TypeError: Class constructor Person cannot be invoked without 'new'
ํด๋์ค๋ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ ์ผํ ์กด์ฌ ์ด์ ์ด๋ฏ๋ก ๋ฐ๋์ new ์ฐ์ฐ์์ ํจ๊ป ํธ์ถํด์ผ ํ๋ค.
๋ฐ๋ผ์ new ์ฐ์ฐ์ ์์ด ํธ์ถํ๋ฉด ํ์
์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
(3) 423p
ReferenceError: MyClass is not defined
๊ธฐ๋ช
ํจ์ ํํ์๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ํด๋์ค ํํ์์์ ์ฌ์ฉํ ํด๋์ค ์ด๋ฆ์ ์ธ๋ถ ์ฝ๋์์ ์ ๊ทผ ๋ถ๊ฐ๋ฅํ๋ค.
ํด๋์ค์์ ์ ์ํ ๋ฉ์๋์ ํน์ง์ ์๋๋๋ก ์์ฑํ์ธ์.
(1) function ํค์๋๋ฅผ ์๋ตํ ๋ฉ์๋ ์ถ์ฝ ํํ์ ์ฌ์ฉํ๋ค.
(2) ๊ฐ์ฒด ๋ฆฌํฐ๋ด๊ณผ๋ ๋ค๋ฅด๊ฒ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ ์ํ ๋๋ ์ฝค๋ง๊ฐ ํ์ ์๋ค.
(3) ์๋ฌต์ ์ผ๋ก strict mode๋ก ์คํ๋๋ค.
(4) for ... in ๋ฌธ์ด๋ Object.keys ๋ฉ์๋ ๋ฑ์ผ๋ก ์ด๊ฑฐํ ์ ์๋ค.
์ฆ, ํ๋กํผํฐ์ ์ด๊ฑฐ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ฉฐ, ๋ถ๋ฆฌ์ธ ๊ฐ์ ๊ฐ๋ ํ๋กํผํฐ ์ดํธ๋ฆฌ๋ทฐํธ [[ Enumerable]] ์ ๊ฐ์ด false๋ค.
(5) ๋ด๋ถ ๋ฉ์๋ [[ Construct]] ๋ฅผ ๊ฐ์ง ์๋ non-constructor๋ค. ๋ฐ๋ผ์ new ์ฐ์ฐ์์ ํจ๊ป ํธ์ถํ ์ ์๋ค.
๋ค์ ๋ณด๊ธฐ์ True
, False
๋ฅผ ํ๋ณํ์์ค.
1. ์๋ธ ํด๋์ค์์๋ constructor๋ฅผ ์๋ตํ ์ ์๋ค.
2. ํด๋์ค๋ ์์ฑ์ ํจ์๋ฅผ ์์๋ฐ์ ์ ์๋ค.
3. ์๋ธ ํด๋์ค์์ ๋ถ๋ชจ ํด๋์ค์ ํ๋กํผํฐ, ๋ฉ์๋๋ฅผ ์ฐธ์กฐํ๋ ค๋ฉด super ํค์๋๋ฅผ ํตํด์๋ง ์ฐธ์กฐํ ์ ์๋ค.
1. False p454
์ํผํด๋์ค, ์๋ธํด๋์ค ๋ชจ๋ constructor๋ฅผ ์๋ตํ ์ ์๋ค.
์๋ธํด๋์ค์์ constructor๋ฅผ ์๋ตํด๋ ์๋ฌต์ ์ผ๋ก super ํค์๋ ํธ์ถ๊น์ง ์งํ๋๋ค.
2. False p453
(์ด ๋ฐ๋๋ก ํด๋์ค๋ฅผ ์์ฑ์ ํจ์๋ก ์์๋ฐ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค..)
3. False p457
์๋ธ ํด๋์ค์์ this ํค์๋๋ฅผ ํตํด์๋ ์ฐธ์กฐ ๊ฐ๋ฅํ๋ค.
๊ทธ๋ฌ๋ ๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋ฉ์ ๊ฒฝ์ฐ this๋ฅผ ์ฌ์ฉํ๋ฉด ์คํ์ค๋ฒํ๋ก์ฐ๋ก ์๋ฌ๊ฐ ์๊ธด๋ค.
์๋ ์ฝ๋์ ๊ฐ์ด ์๋ธ ํด๋์ค์ constructor ์์ฑ์ super
๋ฅผ ๊ฐ์ฅ ์๋จ์ ์ ์ด์ผํ๋ ์ด์ ๋ฅผ ์์ฑํ์์ค.
class ColorRectangle extends Rectangle {
constructor ( width , height , color ) {
super ( width , height ) ;
this . color = color ;
}
}
์๋ธ ํด๋์ค๋ super์ ์ํด ์ธ์คํด์ค ์์ฑ์ ์ํผ ํด๋์ค์๊ฒ ์์ํ๋ค.
์๋ธ ํด๋์ค๋ super์ ์ํด ๋ฐํ๋ ์ธ์คํด์ค๋ฅผ this์ ๋ฐ์ธ๋ฉํ์ฌ ๊ทธ๋๋ก ์ฌ์ฉํ๋ค.
๋ฐ๋ผ์ super๊ฐ ํธ์ถ๋์ง ์์ผ๋ฉด ์ธ์คํด์ค๊ฐ ์์ฑ๋์ง ์๊ณ this๋ ์ฌ์ฉํ์ง ๋ชปํ๋ค.
๋ค์ ์ฝ๋์์ (1)๊ณผ (2)์ ์ถ๋ ฅ ์ฝ๋๊ฐ ๋ค๋ฅธ ์ด์ ๋ฅผ ์์ฑํ์์ค.
class FirstClass {
constructor ( ) {
this . age = 10 ;
}
print ( ) {
console . log ( 'firstClass' , this . age ) ;
}
}
class SecondClass extends FirstClass {
constructor ( ) {
super ( ) ;
this . age = 20 ;
}
print ( ) {
console . log ( 'secondClass' , this . age ) ;
}
}
const first = new FirstClass ( ) ;
const second = new SecondClass ( ) ;
second . print ( ) ; // (1) secondClass 20
second . __proto__ . print ( ) ; // (2) secondClass undefined
ํธ์ถ๋ ํจ์ ๋ด this๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
(1)์์ print๋ฅผ ํธ์ถํ ๊ฐ์ฒด๋ second ์ธ์คํด์ค์ด๋ค.
๋ฐ๋ผ์ this๋ second๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ second ์ธ์คํด์ค๊ฐ ๊ฐ์ง age๋ฅผ ์ถ๋ ฅํ๊ฒ ๋๋ค.
(2)์์ print๋ฅผ ํธ์ถํ ๊ฐ์ฒด๋ second ์ธ์คํด์ค์ [[Prototype]]์ด๋ค.
์ด๋ second.__proto__ ๋๋ SecondClass.prototype ์ ๋์ผํ๋ค.
๊ทธ๋ฆฌ๊ณ SecondClass์ constructor ๋ด this.age๋ SecondClass๋ฅผ ์ด์ฉํ์ฌ ๋ง๋ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํค๋ this์ด๋ค.
SecondClass๋ฅผ ๊ฐ๋ฆฌํค๋ this๊ฐ ์๋๋ค.
๋ฐ๋ผ์ ๋ฉ์๋๋ง ์๋ ์๋ ํด๋์ค์ ํ๋กํ ํ์
์๋ age ํ๋กํผํฐ๊ฐ ์์ด์ undefined๋ฅผ ์ถ๋ ฅํ๊ฒ ๋๋ค.
๋ค์ ๋ฌธ์ฅ์ true or false๋ฅผ ํ๋จํ์ธ์.
( 1 ) ์ํผํด๋์ค์ ํจ์์์ super๋ฅผ ํธ์ถํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค .
( 2 ) ์ํผํด๋์ค์ constructor ๋ด๋ถ์ this๋ ์์ฑ๋ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํจ๋ค .
( 3 ) ์๋ธํด๋์ค์ constructor์์ this๋ฅผ ์ฐธ์กฐํ ์ ์๋ ๊ฒฝ์ฐ๋ ์๋ค .
(1) true
457p
super๋ ๋ฐ๋์ ์๋ธํด๋์ค์ constructor์์๋ง ํธ์ถํ๋ค.
์๋ธํด๋์ค๊ฐ ์๋ ํด๋์ค์ constructor๋ ํจ์์์ super๋ฅผ ํธ์ถํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
(2) true
463p
์ํผํด๋์ค์ constructor ๋ด๋ถ์ ์ฝ๋๊ฐ ์คํ๋๊ธฐ ์ด์ ์ ์๋ฌต์ ์ผ๋ก ๋น ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ฌต์ ์ผ๋ก ์์ฑ๋ ๋น ๊ฐ์ฒด(์ธ์คํด์ค)๋ this์ ๋ฐ์ธ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ํผํด๋์ค์ constructor ๋ด๋ถ์ this๋ ์์ฑ๋ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
(3) true
465p
์๋ธํด๋์ค๋ ๋ณ๋์ ์ธ์คํด์ค๋ฅผ ์์ฑํ์ง ์๊ณ super๊ฐ ๋ฐํํ ์ธ์คํด์ค๋ฅผ this์ ๋ฐ์ธ๋ฉํ์ฌ
๊ทธ๋๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ super๊ฐ ํธ์ถ๋์ง ์์ผ๋ฉด ์ธ์คํด์ค๊ฐ ์์ฑ๋์ง ์์ผ๋ฉฐ this ๋ฐ์ธ๋ฉ๋ ๋ถ๊ฐํ๋ค.
๋ฐ๋ผ์ ์๋ธํด๋์ค์ constructor์์ super๋ฅผ ํธ์ถํ๊ธฐ ์ ์๋ this๋ฅผ ์ฐธ์กฐํ ์ ์๋ค.
๋ค์ ๋น์นธ์ ๋ค์ด๊ฐ ๋จ์ด๋ฅผ ์์ฑํ์ธ์.
( 1 ) extends ํค์๋ ์์๋ ๋ฐ๋์ ** * ์ด ( ๊ฐ ) ์์ผ ํ๋ค .
( 2 ) ์ํผํด๋์ค์ ์๋ธํด๋์ค ๋ชจ๋ constructor๋ฅผ ์๋ตํ๋ฉด ** * ์ด ( ๊ฐ ) ์์ฑ๋๋ค .
( 3 ) super๋ฅผ ํธ์ถํ๋ฉด ์ํผํด๋์ค์ ** * ํธ์ถํ๊ณ ,
super๋ฅผ ์ฐธ์กฐํ๋ฉด ์ํผํด๋์ค์ ** * ๋ฅผ ํธ์ถํ ์ ์๋ค .
(1) 453p ํด๋์ค
(2) 455p ๋น ๊ฐ์ฒด
(3) 455p constructor, ๋ฉ์๋
์์ ํด๋์ค์ ์ธ์คํด์ค ์์ฑ ๊ณผ์ ์ ์์๋๋ก ์์ฑํ์ธ์.
(1) ์๋ธํด๋์ค์ super ํธ์ถ
(2) ์ธ์คํด์ค ๋ฐํ
(3) ์ํผํด๋์ค์ ์ธ์คํด์ค ์ด๊ธฐํ
(4) ์ํผํด๋์ค์ ์ธ์คํด์ค ์์ฑ๊ณผ this ๋ฐ์ธ๋ฉ
(5) ์๋ธํด๋์ค constructor๋ก์ ๋ณต๊ท์ this ๋ฐ์ธ๋ฉ
(6) ์๋ธํด๋์ค์ ์ธ์คํด์ค ์ด๊ธฐํ
460~ 466p
(1) - (4) - (3) - (5) - (6) - (2)