inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

Q. 오버로딩과 오버라이딩은 무엇인가요? ★★★

오버로딩 질문드립니다.

277

주연

작성한 질문수 3

1

class family {
	member (a){
		this.name=a
		console.log("member의 이름은 "+ this.name+"입니다.")
	}
	member (a,b){
		this.name=a
		this.age=a
		console.log("member의 이름은 "+ this.name+"입니다.")
		console.log("member의 나이는 "+ this.age+"입니다.")
	}
	member (a,b,c){
		this.name=a
		this.job=b
		this.age=c
		console.log("member의 이름은 "+ this.name+"입니다.")
		console.log("member의 직업은 "+ this.job+"입니다.")
		console.log("member의 나이는 "+ this.age+"입니다.")
	}
}

const familymember = new family();

familymember.member("승현",20);
familymember.member("다연","학생",22);

 

위 코드를 실행시키면 오버로딩되어 첫번째 는

member의 이름은 승현입니다. member의 나이는 20입니다.

위 코드를 실행시키면 오버로딩되어 두번째 는

member의 이름은 다연입니다. member의 직업은 학생입니다. member의 나이는 20입니다.

 

로 출력되어야 하는거 아닌가요>?? 위처럼 실행시키면

 

member의 이름은 다연입니다. member의 직업은 학생입니다. member의 나이는 undefined입니다.

member의 이름은 다연입니다. member의 직업은 학생입니다. member의 나이는 20입니다.

 

로 나옵니다.!

면접 운영체제 기술면접

답변 1

1

큰돌

안녕하세요 주연님 ㅎㅎ

자바스크립트는 오버로딩을 지원하지 않습니다.

만약 오버로딩을 하실 거면 받아오는 매개변수의 길이 arguments.length를 기반으로 구축하거나 매개변수마다 if문을 걸어서 구현하셔야 합니다.

제가 주연님 코드를 한번 수정해봤는데요. 참고부탁드립니다.

class family {
  member(a, b, c) {
    this.name = a
    console.log("member의 이름은 " + this.name + "입니다.")
    if (b) {
      this.job = b
      console.log("member의 직업은 " + this.job + "입니다.")
    }
    if (c) {
      this.age = c
      console.log("member의 나이는 " + this.age + "입니다.")
    }
  }
}

const familymember = new family();

familymember.member("승현", 20);
familymember.member("다연", "학생", 22);

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

REST API (Self-descriptive messages)

0

28

1

시스템 엔지니어 관련 질문입니다.

0

53

2

오버라이딩 관련하여 질문드립니다.

0

62

2

교착상태의 4가지 필요조건이 필요충분조건이 아닌 이유

0

91

1

렌더 트리, 렌더 레이어와 그래픽 레이어

0

57

2

로컬스토리지, 세션스토리지, 쿠키의 공통점

0

68

1

IPv4가 IPv6보다 빠른 경우

0

103

2

UDP가 전송계층의 역할을 못하는 건 아닌지

0

59

1

Path MTU 발견하였음에도 패킷 분할이 필요한 이유?

0

65

2

교재의 LFU 알고리즘에서 6번이 왜 히트인가요?

0

64

2

페이지 교체 알고리즘? 프레임 교체 알고리즘?

0

83

2

Static 키워드가 메모리에 올라가는 시점

0

78

2

헤더 압축부분 질문드립니다

0

73

2

공유 캐시 관련 질문 드립니다.

0

56

2

컨텍스트는 context와 contextual information으로 나눠진다는게 무슨뜻인가요?

0

201

1

회선과 대역폭의 관계

0

63

2

44강 질문

0

95

2

버스 토폴로지 질문 있씁니다

0

55

1

자바스크립트, xml 문법 관련

0

67

2

전략패턴과 의존성주입 질문

0

69

2

Model이 비즈니스 로직을 담당하나요?

0

108

2

CS 공부 하는 법

0

181

2

큰돌님 블로그에 개념정리해서 올려도될까요!

0

137

2

FIN 세그먼트 질문

0

72

2