본문 바로가기
내일배움캠프

면접준비 2

by useSword 2024. 4. 24.




5. 매개변수(parameter)와 인자(Argument)의 차이

function plus (num1, num2) {
return num1 + num2;
}
// num1과 num2는 parameter이다.

plus(10, 20);
// 10과 20은 argument이다.



Parameter는 함수를 정의할 때 사용되는 변수를 의미
Argument는 실제로 함수가 호출될 때, 넘기는 변수값을 의미

parameter는 매개변수이고 
형식 매개 변수(함수에서 정의된 변수) 
실제 매개 변수(인자(인수)값을 변수로 넘겨줄 때)로 나눈다.


argument는 인자 또는 인수


콜 바이 벨류(Call by Value)
값을 변경해도 원본 값은 변경되지 않는다.

function addOne(x) {
  x += 1;
  return x;
}

let num = 5;
console.log(addOne(num)); // 6
console.log(num); // 5



콜 바이 레퍼런스(Call by Reference)
전달된 변수의 값을 변경하면, 호출한 쪽에서도 해당 변수의 값이 변경

function addOne(arr) {
  arr.push(1);
  return arr;
}

let nums = [1, 2, 3];
let result = addOne(nums);
console.log(result); // 출력: [1, 2, 3, 1]
console.log(nums); // 출력: [1, 2, 3, 1] (원본 값도 함께 변경됨)



6. 인터프리터와 컴파일러에 대해서 설명
이 둘을 설명하기 위해서는 우선 어셈블리어(Assembly language)에 대해 알아야합니다.
어셈블리어는 하드웨어에 수행할 작업을 지시하는 간단한 언어이고 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급언어입니다.

개발자가 이해하기 쉬운 고급 프로그래밍 언어가 나오게 됨. 
컴퓨터는 고급 프로그래밍언어를 이해 못하기 때문에 기계어로 번역해야함 
그것을 하는 것이 컴파일러와 인터프리터임

컴파일러 :
고급 프로그래밍 언어로 작성된 코드를 오브젝트 코드로 컴파일함. 
이미 번역을 해놓은 상태이기 때문에 실행 속도가 빠름. 
다신 새로운 내용을 변경할때 즉시 적용 못함
c++의 경우 오브젝트 파일과 실행 파일을 내뱉음. 

인터프리터 : 
번역과 실행을 동시에 함. 그덕에 생산 속도는 빠르지만 실행 속도가 느림
(파이썬의 경우 python app.py를 칠 경우 인터프리터 시작)


https://sanghoon23.tistory.com/74#google_vignette
인터프리터와 컴파일러와의 메모리 사용량?
메모리를 사용하는 방향이 다름. 사용량을 따질 수는 없음



7. 정적타입 언어와 동적 언어타입 언어

정적타입 언어와 동적타입 언어는 코드의 상수,변수,함수 등에 대한 타입을 언제 확인하냐에 따라 구분합니다
타입을 컴파일에 확인하는 언어를 정적타입 언어, 런타임에 확인하는 언어를 동적타입 언어라 합니다.

동적타입 언어는 코드를 실행할 때 알아서 변수 타입을 판단해주는 언어
파이썬과 자바스크립트처럼 동적타입 언어
장점: 코드 실행시 자동적으로 변수의 타입을 판단하여 지정해줌
단점: 실행 도중에 변수에 예상치 못한 자료형이 들어와 타입 에러를 발생할 수 있음


정적타입 언어는 작성자가 소스 코드를 보고 변수 타입을 직접 작성하는 언어
정적타입 언어에는 C, C#, C++, Java 등의 언어
타입스크립트를 생각하면 될 것 같다.

장점: 타입 에러로 인한 문제점을 초기에 발견할 수 있어 타입 관련한 런타임 오류를 방지할 수 있고 타입의 안정성이 높음
단점: 코드를 작성할 때 매번 타입을 결정해 주는것이 번거로움

8. 클로저(closure)란 무엇이며 어디에 유용한가요?


12. 일급객체란?
OOP에서 사용되는 개념 중 하나로 아래의 조건을 만족하는 객체를 의미합니다.
1. 변수 혹은 데이터 구조(자료구조) 안에 담을 수 있어야 한다.
2. 매개변수로 전달할 수 있어야 한다.
3. 리턴값으로 사용될 수 있어야 한다.

'내일배움캠프' 카테고리의 다른 글

면접준비 3  (0) 2024.04.25
캠프 면접 문제 준비  (0) 2024.04.23