다트 언어에서는 클래스의 생성자를 다양하게 이용할 수 있는데 명명된 생성자는 가장 중요하고 가장 자주 사용합니다. 명명된 생성자는 이름이 있는 생성자라는 의미로, 한 클래스에 이름이 다른 생성자를 여러 개 선언하는 기법입니다. 다른 프로그래밍 언어에서도 생성자를 여러 개 선언할 수 있는 오버로딩 기능을 제공하지만, 똑같은 이름으로 매개변수나 변환 타입만 다르게 선언해야 하므로 다트와는 차이가 있습니다. 예를 들어 다음 코드는 자바 언어로 생성자 오버로딩을 구현한 예입니다. 하지만 다트에서는 이러한 오버로딩을 지원하지 않습니다. 대신 다른 기법으로 생성자를 여러 개 선언할 수 있습니다.// 자바로 작성한 생성자 오버로딩public class MyClass { MyClass() {} MyClass(int..
분류 전체보기
생성자 선언생성자는 클래스에 선언되어 객체를 생성할 때 호출되는 함수입니다. 모든 클래스는 생성자를 가지며 만약 개발자가 만들지 않으면 컴파일러가 자동으로 클래스와 같은 이름으로 기본 생성자를 만들어 줍니다.// 클래스 선언class User {} 코드에서 User 클래스에는 생성자를 작성하지 않았습니다. 하지만 다트에서 생성자가 없는 클래스는 존재할 수 없습니다. 따라서 컴파일러는 기본 생성자를 자동으로 추가하므로 오른쪽처럼 선언한 것과 같습니다.// 기본 생성자를 추가한 예class User { User() { }}여기까지는 다른 객체지향 언어와 같습니다. 하지만 다트에서는 명명된 생성자, 팩토리 생성자, 상수 생성자 등 다양한 형태로 정의할 수 있습니다. 또한 생성자의 매개변수로 멤버를 초기화하는..
클래스 선언과 생성 다트에서 클래스는 다른 객체지향 언어와 마찬가지로 class라는 예약어로 선언합니다. 그리고 클래스에는 변수와 함수를 멤버로 선언할 수 있습니다.// 클래스 선언class User { String name = 'kkang'; int age = 10; void sayHello() { print('Hello $name, age: $age'); }}이렇게 선언한 클래스를 이용하려면 객체를 생성해야 합니다. 그리고 생성한 객체 이름으로 클래스에 선언한 변수와 함수를 이용합니다. 객체를 생성할 때는 new 연산자를 이용해도 되고 생략해도 됩니다. 즉, new 연산자를 이용하든 이용하지 않든 클래스의 생성자를 호출하면 객체를 생성할수 있습니다.// 객체 생성User user1 =..
제어문은 프로그램의 실행 흐름을 제어하는 구문입니다. 보통 프로그래밍 언어에서 제공하는 if~else, for, while, do~while, break, continue, switch~case 등이 제어문이며, 다트를 비롯해 대부분 언어에서 비슷하게 동작합니다. 이 절에서는 프로그램의 실행 흐름에서 다른 언어와 차이 나는 부분만 살펴보겠습니다. for 반복문에서 in 연산자for 문은 어떤 구문을 반복해서 실행할 때 이용하며 반복해서 실행할 조건을 다음처럼 초기화; 조건; 증감 형태로 작성합니다.// for 문 사용 예main() { var list = [10, 20, 30]; for(var i = 0; i ▶ 실행 결과102030 그런데 이런 형태를 in 연산자를 사용해 간소화할 수 있습니다. f..