이제 본격적으로 코딩에 대해 공부할건데, 우선 코딩의 개념을 다음의 비유로 이해해보자.
강아지에게 손을 알려주고 싶을때 우리는 어떻게 하는가를 떠올려보자.
강아지에게 손 이라고 말하며 강아지의 앞발을 자기 손으로 올려놓는다.
이걸 몇번 반복하면 강아지가 눈치를 챈다. 손이라고 하면 앞발을 손 위에 올리면 되는구나.
이제 손 이라고 하면 강아지는 자신의 앞발을 손 위에 올린다.
코딩도 강아지에게 명령을 가르치는것과 거의 비슷하다.
백지상태의 컴퓨터에게 내가 하고싶은 일을 알려주고, 그 명령어를 외치면 그대로 실행한다. 참으로 간단하지 않은가!
다만 코딩은 강아지처럼 몇번 반복해서 알려줄 필요는 없고 정확한 문법으로 작성만 하면 한방에 이해한다. 정확한 문법으로 작성한다면 말이지만.
코딩은 다음과 같은 메커니즘을 통해 진행된다.
컴퓨터에게 내가 하고 싶은일을 알려주는것 : 함수 선언
알려준 일을 하라고 시키는 것 : 실행
이 개념이 잡혔다면 본격적인 코딩 공부를 해보자.
전 포스팅에서도 말했지만 플러터를 이용하기 위해서는 다트라는 언어를 사용해야 한다.
다트를 안드로이드 스튜디오에서도 연습하는 것도 가능하지만,
연습용도로 쓰기에 안드로이드 스튜디오는 너무 번거로우니까 다트패드라는 연습용 사이트를 이용해 보도록 하자.
아래 링크로 다트패드에 접속해보자.
https://dartpad.dev/?
왼쪽에 가장 긴 영어부분이 코드를 작성하는 부분.
오른쪽 위 콘솔창이 코드를 실행하고 결과물을 출력해주는 부분이다.
오른쪽 밑 창은 코드에 에러가 있을 시 알려주는 부분이다.
코드작성칸의 파란색네모(run)를 눌러 예제를 실행시켜보자.
콘솔창에 결과물이 나오는 것을 확인 할 수 있다.
이제 신기한 거 다 봤다면 우리도 직접 코드를 작성해보자.
우리가 작성할 코드는 콘솔창에 'hello, world!'라는 문구를 출력시키는 프로그램을 작성하는 것이다.
void main(){
print('hello, world!');
}
를 작성할건데, 괄호가 눈이 어지러우니 간단하게 저 코드의 괄호 위치만 훑어보자.
함수선언부 : void main(){}
함수 내용 : print('hello, world!');
함수 실행부 : 생략되어있음 : main()
이렇게 이루어져 있는데, void main(){}의 {중괄호} 부분에
print('hello, world!');가 들어가 있는 형식이다.
print('hello, world!'); 앞에 영문을 알 수 없는 스페이스가 2개 들어가 있는데 간단히 말하자면 이건 줄맞춤을 위해 띄운것이다.
추후에 다시 설명하도록 하겠다.
이제 다음 스텝을 따라서 작성해보도록 하자.
0. 기존에 있던 모든 내용을 다 지움
1. void main
2. (
여기서 잠깐.
왼쪽 괄호를 치자 오른쪽괄호가 자동으로 작성되었다.
다트패드에는 이런식으로 코딩을 하기 쉽고 편하게 자동으로 작성해주는 부분들이 있다. 역시 과학의 발전은 나를 기다려주지 않는다.
3.)
4.{
여기서도 잠깐.
아까와 마찬가지로 여기도 중괄호가 자동완성 되는 것을 볼 수 있다.
그런데 우리가 작성해야 할 코드를 자세히 보도록 하자.
중괄호 안에 내용이 있지 않은가?
그러므로 우리는 여기서 엔터를 쳐보자.
줄 바꿈이 되면서 중괄호가 아래줄로 자동완성 되었으며, 자동으로 스페이스 2개가 먹어져있는것을 확인 할 수 있다. 이 스페이스는 지우지 말고 여기다가 바로 다음을 입력하자.
5.print('hello, world!');
6.파란색네모(run)클릭.
옆에 창에 헬로 월드가 뜨는가?
축하한다 이제 당신도 엄연한 다트 프로그래머이다. 이력서 특기란에 다트 개발경험을 적어놓도록 하자.
하나씩 뜯어 보며 구조를 파악해보자.
- void
아직은 몰라도 됨
- main(){}
시키고 싶은 일을 {중괄호}에 기입
- print();
하고싶은 말을 (소괄호)에 기입
;는 일종의 마침표라고 지금은 이해하면 된다.
생략된 함수실행 명령어 : main()
즉, main()라는 말은 앞으로 중괄호 안에 있는말을 실행시키는거야 라고 인지 시켜준 후
main()을 실행하라는 명령을 내려서 실행시키는 것이다.
그런데 지금 우리가 작성한 것엔 mian()라는 명령어 실행부분이 없다.
왜 없는지는 약간 어려운 설명이 필요한데, 아직 거기까지 받아들일 준비가 되어있지 않았으므로
지금은 main()이라는 함수는 실행선언을 하지 않아도 자동으로 실행된다고 이해하고 넘어가자.
추후 챕터에서 설명하겠다.
어쨌든 이것이 프로그래밍 혹은 코딩의 함수를 선언하고 실행시키는 방법이며
조금 더 기술적으로 파고들자면
-void
아직은 몰라도 됨
-main(){}
함수를 선언하는 방법
{중괄호}안에 시키고 싶은 내용을 넣는것
-print();
아까 main()라는 명령어로 함수를 실행시킨다고 했던것 기억나는가?
print()또한 같다. 미리 선언해둔 print(){}를 실행시킨 것이다.
그런데 우린 print()를 선언한 적이 없는데, 거의 모든 프로그래밍 언어는 이렇게 몇몇 함수들을 미리 구현해둔다. 추후 챕터에서 설명하겠다.
-'hello, world!'
(소괄호)의 뜻은 print()를 실행할때 소괄호의 내용을 참고해서 실행하라는 뜻
이를 파라메터, 한국말로는 속성이라고 한다.
아직은 이렇게만 파악하고 있어도 충분하다.
-생략된 함수실행 명령어 : main()
로 이루어져 있다고 할 수 있다.
이렇게 기초 중의 기초인 hello,world!를 통해 코딩에 대해 간단하게 알아보았다.
아래에 있는 다음 포스팅으로 넘어가자.
ps. 용어정리 잠깐 하자면,
프로그래밍을 할때 줄줄이 적혀있는 영어를 코드,
코드를 작성하는 행위를 코딩이라고 한다.
그리고 저렇게 코딩을 해서 프로그램을 만들어내는 행위를 프로그래밍이라고 하는데, 뭐 그렇게 엄격하게 구분해서 쓰는거 같진 않다.
알아만 두도록 하자.
'다트(Dart) - 문법정리' 카테고리의 다른 글
[다트] 비전공자 독학으로 어플 만들기 - 0. 들어가기 (0) | 2022.10.10 |
---|