Study/JavaScript

혼자 공부하는 자바 스크립트 9-2 확인문제

김만두_ 2022. 12. 17. 15:19

1. 다음 중 클래스 상속을 할 때 사용하는 키워드를 골라주세요.

  1. extend
  2. extends > class 클래스 이름 extends 부모 클래스 이름 { }
  3. vased
  4. derive

 

2. 다음 중 자식 클래스에서 부모 클래스를 호출할 때 사용하는 식별자를 골라주세요.

  1. parent
  2. super  > class 클래스 이름 extends 부모 클래스 이름 {  super.test() }
  3. mother
  4. upper

3. 다음 중에서 정적 속성을 만들 때 사용하는 키워드를 골라주세요.

  1. static 인스턴스를 만들지 않고 사용할 수 있는 속성과 메소드. 일반적인 변수와 함수처럼 사용할 수 있다.
  2. silent
  3. dynamic
  4. noisy

4. 다음 중에서 외부에서 접근할 수 없는 속성을 만들 때 사용하는 기호를 골라주세요.

  1. private
  2. public
  3. @
  4. # private 속성. 의도하지 않은 방향으로 사용하는 것을 막아 클래스의 안정성을 확보하기 위해 나온 문법.

++ static #counter = 0  > private과 static은 같이 사용이 가능하다.

 

5. 다음 중 옳지 않은 것을 골라주세요.

  1. static 키워드를 붙인 속성과 메소드는 클래스 이름을 기반으로 사용합니다.
  2. 속성을 만들 때 # 기호를 붙이면 클래스 외부에서는 접근할 수 없습니다.
  3. 메소드를 만들 때 # 기호를 붙이면 클래스 외부에서는 접근할 수 없습니다.
  4. # 기호를 붙인 private 속성과 메소드는 상속받은 클래스에서는 사용할 수 있습니다.

> private 속성. 의도하지 않은 방향으로 사용하는 것을 막아 클래스의 안정성을 확보하기 위해 나온 문법으로 해당 클래스 안에서만 사용 가능

 

 

6. 다음 코드의 실행 결과를 예측해주세요.

class Parent {
	test () {
    	console.log("parent.test() 메소드")
    }
}

class ChildA extends Parent {
	test () {
    	super.test ()
        console.log("ChildA.test() 메소드")
    }
}

class ChildB extends Parent {
	test () {
    	console.log("ChildB.test() 메소드")
        super.test()
    }
}

new ChildA().test()
new ChildB().test()
Parent.test() 메소드
ChildA.test() 메소드
ChildB.test() 메소드
Parent.test() 메소드