QUESTION 1 OF 20
Dart is a functional programming language.
- Answer : False
- Explanation: Dart is a multi-paradigm programming language. While it does support functional programming concepts, it is not solely a functional programming language.

 

20개 중 1번 질문
Dart는 함수형 프로그래밍 언어입니다.
- 정답: 거짓
- 설명: Dart는 다중 패러다임 프로그래밍 언어입니다. 함수형 프로그래밍 개념을 지원하지만 함수형 프로그래밍 언어만 있는 것은 아닙니다.

 

 




QUESTION 2 OF 20
Dart can be compiled into ARM64 and JavaScript.
- Answer : True
- Explanation: Yes, Dart can be compiled into various target platforms, including ARM64 for native code execution and JavaScript for web-based applications.

 

질문 2/20
Dart는 ARM64 및 JavaScript로 컴파일될 수 있습니다.
- 정답 : 참
- 설명: 예, Dart는 네이티브 코드 실행을 위한 ARM64 및 웹 기반 애플리케이션을 위한 JavaScript를 포함하여 다양한 대상 플랫폼으로 컴파일할 수 있습니다.

 

 

 

 


QUESTION 3 OF 20
Javascript is an AOT-compiled language.
- Answer : False
- Explanation: JavaScript is typically an interpreted or just-in-time (JIT) compiled language, meaning the code is executed at runtime. Ahead-of-time (AOT) compilation is not a standard feature of JavaScript.

 

20개 중 3번 질문
Javascript는 AOT로 컴파일된 언어입니다.
- 답변 : 거짓
- 설명: JavaScript는 일반적으로 해석되거나 JIT(Just-In-Time) 컴파일된 언어로, 코드가 런타임에 실행됨을 의미합니다. AOT(Ahead-of-Time) 컴파일은 JavaScript의 표준 기능이 아닙니다.

 

 

 



QUESTION 4 OF 20
C++ is a JIT-compiled language.
- Answer : False
- Explanation: C++ is primarily a statically compiled language, although there are some implementations and tools that support Just-in-Time (JIT) compilation for specific use cases.

 

20개 중 4번 질문
C++는 JIT로 컴파일된 언어입니다.
- 답변 : 거짓
- 설명: 특정 사용 사례에 대해 JIT(Just-in-Time) 컴파일을 지원하는 일부 구현 및 도구가 있지만 C++는 기본적으로 정적으로 컴파일된 언어입니다.

 

 

 



QUESTION 5 OF 20
Flutter uses Dart's JIT on development and AOT on production.
- Answer : True
- Explanation: The claim that "Flutter uses Dart's JIT (Just-in-Time) compilation during development and AOT (Ahead-of-Time) compilation in production environments" is correct.
Flutter is a framework for cross-platform mobile application development, and it uses various compilation modes depending on the platform and deployment scenario.
During development, Flutter typically uses Dart's JIT compilation. JIT compilation enables hot reload, which allows for a fast development cycle. Hot reload allows you to quickly apply code changes to a running application without the need for a full rebuild and restart, making it easy to see the changes in real-time. The JIT compiler analyzes and transforms Dart code into executable machine code at runtime. This dynamic compilation approach supports rapid development and iterative testing.
However, in production environments, AOT compilation can be used.
Flutter precompiles Dart code into native ARM machine code (AOT) ahead of time. This AOT compilation is performed before the application is distributed through stores, creating an optimized executable file.
In summary, Flutter uses JIT compilation for fast iterations and hot reload during development, and it uses AOT compilation to generate optimized native code during deployment and production processes.

 

20개 중 5번 질문
Flutter는 개발 시 Dart의 JIT를 사용하고 프로덕션 시 AOT를 사용합니다.
- 답변 : 참
- 설명: "Flutter는 개발 시에는 Dart의 JIT(Just-in-Time) 컴파일을 사용하고, 프로덕션 환경에서는 AOT(Ahead-of-Time) 컴파일을 사용한다"는 주장은 맞습니다.
Flutter는 크로스 플랫폼 모바일 애플리케이션 개발을 위한 프레임워크로, 플랫폼 및 배포 시나리오에 따라 다양한 컴파일 모드를 사용합니다.
개발 중에는 일반적으로 Flutter는 Dart의 JIT 컴파일을 사용합니다. JIT 컴파일은 빠른 개발 주기를 지원하기 위해 핫 리로드(hot-reload)를 가능하게 합니다. 핫 리로드는 코드 변경을 빠르게 적용하여 실행 중인 애플리케이션에 반영할 수 있으며, 전체 재빌드와 재시작 없이 변경 내용을 확인할 수 있습니다. JIT 컴파일러는 Dart 코드를 실행 시간에 분석하고 변환하여 실행 가능한 기계 코드로 만듭니다. 이 동적 컴파일 접근 방식은 빠른 개발과 반복적인 테스트를 지원합니다.
하지만 프로덕션 환경에서는 AOT 컴파일을 사용할 수 있습니다.
Flutter는 Dart 코드를 미리 컴파일하여 (AOT) 네이티브 ARM 기계 코드로 변환합니다. 이 AOT 컴파일은 애플리케이션이 스토어를 통해 배포되기 전에 수행되어 최적화된 실행 파일을 생성합니다.
요약하자면, Flutter는 개발 중에는 빠른 반복과 핫 리로드 기능을 위해 JIT 컴파일을 사용하며, 배포 및 프로덕션 과정에서는 최적화된 네이티브 코드를 생성하기 위해 AOT 컴파일을 사용합니다.

 

 

 



QUESTION 6 OF 20
All Dart programs need to have a main function.
- Answer : True
- Explanation: Yes, in Dart, all executable programs need to have a main() function as the entry point of the program. The execution starts from the main() function.

20개 중 6번 질문
모든 Dart 프로그램에는 main 함수가 있어야 합니다.
- 정답 : 참
- 설명: 예, Dart에서 모든 실행 가능 프로그램에는 프로그램의 진입점으로 main() 함수가 있어야 합니다. 실행은 main() 함수에서 시작됩니다.

 

 

 



QUESTION 7 OF 20
Semicolons are required in Dart.
- Answer : True
- Explanation: Semicolons are required in Dart. Dart cannot use line breaks to separate statements.

 

20개 중 7번 질문
Dart에는 세미콜론이 필요합니다.
- 답변 : 참
- 설명: Dart에서 세미콜론은 필수 사항입니다. Dart는 줄 바꿈을 사용하여 명령문을 구분할 수 있지 않습니다.

 

 

 



QUESTION 8 OF 20
When using var, we always have to specify a type: var String name = '니꼬';
- Answer : False
- Explanation: When using var, you do not need to specify the type explicitly. Dart can infer the type based on the assigned value. The correct usage would be var name = '니꼬'; without specifying the type.

 

질문 8/20
var를 사용할 때는 항상 타입을 지정해야 합니다. var String name = '니꼬';
- 답변 : 거짓
- 설명: var를 사용할 때 type을 명시적으로 지정할 필요가 없습니다. Dart는 할당된 값을 기반으로 유형을 유추할 수 있습니다. 올바른 사용법은 var name = '니꼬'입니다. 유형을 지정하지 않고.

 

 

 

 


QUESTION 9 OF 20
This code will not compile:

void main() {
    var age = 18;
    age = 19;
}

 

- Answer : False
- Explanation: The code will compile without any issues. In Dart, variables declared with var can have their values reassigned. So, changing the value of age from 18 to 19 is valid.

 

20개 중 9번 질문
이 코드는 컴파일되지 않습니다.

void main() {
    var age = 18;
    age = 19;
}

 

- 답변 : 거짓
- 설명: 코드가 문제 없이 컴파일됩니다. Dart에서 var로 선언된 변수는 값을 재할당할 수 있습니다. 따라서 나이 값을 18에서 19로 변경하는 것이 유효합니다.

 

 

 



QUESTION 10 OF 20
var name = '니꼬'; and String name = '니꼬'; are practically the same.
- Answer : True
- Explanation: In most cases, var name = '니꼬'; and String name = '니꼬'; are functionally equivalent. In both cases, the variable name will be inferred as a String type based on the assigned value.

 

질문 10/20
var name = '니꼬'; and String name = '니꼬'; 실질적으로 동일합니다.
- 정답 : 참
- 설명: 대부분의 경우 var name = '니꼬'; and String name = '니꼬'; 기능적으로 동일합니다. 두 경우 모두 변수 이름은 할당된 값을 기반으로 문자열 유형으로 유추됩니다.

 

 

 

 


QUESTION 11 OF 20
This code will not compile:

void main(){
    String age = "18";
    age = 19;
}

 

- Answer : True
- Explanation: The code will not compile. In this example, the variable age is explicitly declared as a String type. Assigning an integer value 19 to a String variable causes a type mismatch error.

 

질문 11/20
이 코드는 컴파일되지 않습니다.

void main(){
    String age = "18";
    age = 19;
}

 

- 정답 : 참
- 설명: 코드가 컴파일되지 않습니다. 이 예에서 변수 age는 문자열 유형으로 명시적으로 선언됩니다. 문자열 변수에 정수 값 19를 지정하면 유형 불일치 오류가 발생합니다.

 

 

 

 


QUESTION 12 OF 20
A variable of type dynamic can contain any type of value.
- Answer : True
- Explanation: Yes, a variable of type dynamic can hold values of any type. It bypasses static type checking and allows dynamic type behavior during runtime.

 

20개 중 12번 질문
dynamic 유형의 변수는 모든 유형의 값을 포함할 수 있습니다.
- 정답 : 참
- 설명: 예, dynamic 유형의 변수는 모든 유형의 값을 보유할 수 있습니다. 정적 유형 검사를 우회하고 런타임 동안 동적 유형 동작을 허용합니다.

 

 

 

 


QUESTION 13 OF 20
Pick the nullable variable.

String email = "";
String? email = "";
var email = "";
var email? = ""

 

- Answer: Option 2 is the nullable variable.
- Explanation: In Dart, the ? suffix denotes nullable types. So, String? email = ""; indicates that the variable email can hold a String value or be null. The other options do not explicitly indicate nullable types.

 

20개 중 13번 질문
nullable 변수를 선택합니다.

String email = "";
String? email = "";
var email = "";
var email? = ""

 

- 답변: 옵션 2는 nullable 변수입니다.
- 설명: Dart에서 ? 접미사는 nullable 유형을 나타냅니다. 그래서, 문자열? 이메일 = ""; 변수 email이 문자열 값을 보유하거나 null일 수 있음을 나타냅니다. 다른 옵션은 nullable 형식을 명시적으로 나타내지 않습니다.

 

 

 

 


QUESTION 14 OF 20
By default, all variables in Dart are non-nullable.
- Answer : True
- Explanation: By default, variables in Dart are non-nullable. If you want to enforce nullability, you need to use "?" in Dart.

 

20개 중 14번 질문
기본적으로 Dart의 모든 변수는 null을 허용하지 않습니다.
- 답변 : 참
- 설명: 기본적으로 Dart의 변수는 null을 허용하지 않습니다. null 허용 여부를 적용하려면 "?"를 사용해야 합니다. 다트에서

 

 

 



QUESTION 15 OF 20
Variables created with var can be overridden.
- Answer : True
- Explanation: Variables created with var cannot redefine their type, but can be modified if they are of the same type.
The reason you can't redefine it with a different type is that Dart infers the type of the variable upon initialization and locks to that type.

 

20개 중 15번 질문
var로 만든 변수는 재정의할 수 있습니다.
- 답변 : 참
- 설명: var로 생성된 변수는 타입을 재정의할 수 없지만 같은 타입이라면 수정될 수 있습니다.
다른 타입으로 재정의할 수 없는 이유는 Dart가 초기화 시 변수의 유형을 유추하고 해당 유형으로 잠그기 때문입니다.

 

 

 



QUESTION 16 OF 20
Variables created with final can be overridden.
- Answer : False
- Explanation: Variables created with final cannot be overridden. Once a final variable is assigned a value, it cannot be changed.

 

20개 중 16번 질문
final로 생성된 변수는 재정의할 수 있습니다.
- 답변 : 거짓
- 설명: final로 생성된 변수는 덮어쓸 수 없습니다. 최종 변수에 값이 할당되면 변경할 수 없습니다.

 

 




QUESTION 17 OF 20
late allows us to create variables that will be assigned later.
- Answer : True
- Explanation: Yes, the late keyword in Dart allows you to create variables that are initially uninitialized but will be assigned a value before they are accessed. It is useful for cases where you need to delay initialization but ensure that the variable has a value when used.

 

20개 중 17번 질문
late를 사용하면 나중에 할당할 변수를 만들 수 있습니다.
- 정답 : 참
- 설명: 예, Dart의 late 키워드를 사용하면 처음에는 초기화되지 않았지만 액세스하기 전에 값이 할당되는 변수를 만들 수 있습니다. 초기화를 지연해야 하지만 변수가 사용될 때 값이 있는지 확인해야 하는 경우에 유용합니다.

 

 




QUESTION 18 OF 20
const in Dart is the same as const in TypeScript.
- Answer : False
- Explanation: While both Dart and TypeScript have the const keyword, they have different semantics. In Dart, const represents compile-time constants, while in TypeScript, it represents immutable values.

 

20개 중 18번 질문
Dart의 const는 TypeScript의 const와 동일합니다.
- 답변 : 거짓
- 설명: Dart와 TypeScript는 모두 const 키워드를 가지고 있지만 서로 다른 의미를 가지고 있습니다. Dart에서 const는 컴파일 타임 상수를 나타내고 TypeScript에서는 불변 값을 나타냅니다.

 

 

 



QUESTION 19 OF 20
const is the same as final.
- Answer : False
- Explanation: No, const and final have different meanings in Dart. const is used for compile-time constants that are known and fixed at compile-time, while final is used for values that can be set once and remain constant throughout the program's execution.

 

20개 중 19번 질문
const는 final과 동일합니다.
- 답변 : 거짓
- 설명: 아니요, Dart에서 const와 final은 다른 의미를 가집니다. const는 컴파일 타임에 알려지고 고정되는 컴파일 타임 상수에 사용되는 반면, final은 한 번 설정될 수 있고 프로그램 실행 내내 일정하게 유지되는 값에 사용됩니다.

 

 

 



QUESTION 20 OF 20
When do we use const over final?

1. When the value is not known ahead of compilation
2. When the value is known ahead of compilation
- Answer: Option 2. When the value is known ahead of compilation.
- Explanation: const is used when the value can be determined at compile-time, whereas final is used when the value is determined at runtime but remains constant throughout the program execution.

 

질문 20/20
final보다 언제 const를 사용합니까?

1. 컴파일 전에 값을 알 수 없는 경우
2. 컴파일 전에 값을 알고 있는 경우
- 답변: 옵션 2. 컴파일 전에 값을 알고 있는 경우.
- 설명: const는 컴파일 타임에 값을 결정할 수 있는 경우에 사용되는 반면, final은 런타임에 값이 결정되지만 프로그램 실행 내내 일정하게 유지되는 경우에 사용됩니다.

 

 

 

 

+ Recent posts