McFreedyLang
๋ชฉํ
๋ง์ธํฌ๋ํํธ ์ฝํ ์ธ ๋ฅผ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ ์ ์ํ ์ ์์ต๋๋ค.
FreedyLang
๋ชฉํ
์ฝํ ์ธ ๋ฅผ ์ค๊ณํ๊ณ ๊ตฌํํ๋ ๊ณผ์ ์ ๊ฐ๋จํ๊ณ ๋น ๋ฅด๊ฒ ๋ง๋ญ๋๋ค.
์ฃผ์
ํ ์คํธ๋ฅผ ์ ๋ ฅํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํฉ๋๋ค. ํ ์คํธ์ ์ข ๋ฅ์ ํน์ง์ ์์๋ด ๋๋ค.
ํ ์คํธ์ ์ข ๋ฅ
- ์ฃผ์
- ๋ณ์
- ์ฐ์
- ๋ชธํต
- ํจ์
- ์กฐ๊ฑด
- ๋ฐ๋ณต
- ํด๋์ค
์ฃผ์
ํ๋ก๊ทธ๋๋ฐ ์ค๊ณ๋, ์ฆ ์์ค ์ฝ๋์์ ๋ชจ๋ ํ ์คํธ๋ ์ปดํจํฐ๊ฐ ์ธ์ํด์ ์๋ํ์ง๋ง, ์ฃผ์์ ํ๋ก๊ทธ๋๋ฐ์ ์์ด ๋ฉ๋ชจํ๋ ๋ชฉ์ ์ผ๋ก ์ฐ์ ๋๋ค. ์์ค ์ฝ๋๋ฅผ ๋ ์ฝ๊ฒ ์ดํดํ ์ ์๊ฒ ๋ง๋๋ ๊ฒ์ด ์ฃผ ๋ชฉ์ ์ ๋๋ค.
ํ์ค๋ง ๋ฉ๋ชจํ๊ณ ์ถ์ ๋๋ ํ์ค ์ฃผ์์ ์ฌ์ฉํฉ๋๋ค. ํ์ค ์ฃผ์์ ์ฌ๋์ฌ 2๊ฐ(//)๋ก ์์ฑํ๊ณ ๊ทธ ์ค๋ฅธ์ชฝ์ ๋ชจ๋ ์ฃผ์์ด ๋ฉ๋๋ค.
(์์ค์ฝ๋..) //์ฌ๊ธฐ๋ ์ฃผ์์
๋๋ค ์ด ์์ค์ฝ๋๊ฐ ๋ฌด์์ธ์ง ๋ฉ๋ชจํ๊ธฐ ์ํด ์กด์ฌํฉ๋๋ค
์ฌ๋ฌ์ค์ ์ฃผ์์ผ๋ก ์์ฑํ๊ณ ์ถ์ ๋๋ ์ฌ๋ฌ์ค ์ฃผ์์ ์ฌ์ฉํฉ๋๋ค. ์ฌ๋ฌ์ค ์ฃผ์์ ์ฌ๋์ฌ์ ๋ณํ(/*)๋ก ์์ํด์ ๋ณํ์ ์ฌ๋์ฌ(*/)๋ก ๋๋๋ฉฐ, ๊ทธ ์ฌ์ด๊ฐ ๋ชจ๋ ์ฃผ์์ด ๋ฉ๋๋ค.
/*
์ฌ๊ธฐ๋ ์ฃผ์์
๋๋ค ์ด ์์ค์ฝ๋๊ฐ ๋ฌด์์ธ์ง ๋ฉ๋ชจํ๊ธฐ ์ํด ์กด์ฌํฉ๋๋ค
*/
๋ณ์
๋ณ์๋ ์ฝ๊ฒ ๋งํ๋ฉด, ๊ฐ์ ๋ด์๋๋ ๋ฐ๊ตฌ๋์ ๋๋ค. ์์๋ก ์ค์ ํ A๋ผ๋ ๋ฌธ์, ์ฆ ๋ณ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํ ๋, A์ ๊ฐ์ ํ ๋น ๋๋ ๋ณ๊ฒฝํ๊ณ , ๋ถ๋ฌ์์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
๋จผ์ , ๋ณ์ A์ ๊ฐ์ ํ ๋นํ ๋๋ ํ ๋น ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ ๋น ์ฐ์ฐ์๋ ์ํ์์์ ๊ฐ๋ค(=) ๊ธฐํธ ๋ฌธ์์ด๊ณ , ๊ทธ ๊ธฐํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฅธ์ชฝ์ ์๋ ๊ฒ์ ์ผ์ชฝ ๋ณ์์ ํ ๋นํ๋ ์๋ฏธ์ ๋๋ค.
A = 777 //A๋ณ์์ ๊ฐ์ 777๋ก ํ ๋นํฉ๋๋ค
์ฐ์
์์ ๋ํ์ฌ ๊ฐ๋จํ ๊ณ์ฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๋งํฉ๋๋ค. ๋ํ๊ธฐ, ๋นผ๊ธฐ, ๊ณฑํ๊ธฐ, ๋๋๊ธฐ, ๋๋จธ์ง, ์ ๊ณฑ, ์ด 6๊ฐ์ง๊ฐ ์์ต๋๋ค.
A = 2 + 2 //๋ํ๊ธฐ
B = 2 - 2 //๋นผ๊ธฐ
C = 2 * 2 //๊ณฑํ๊ธฐ
D = 2 / 2 //๋๋๊ธฐ
E = 2 % 2 //๋๋จธ์ง
F = 2 ** 2 //์ ๊ณฑ
G = (3 + 4) * 5 //์์ฉ
๋ชธํต
๋ชธํต์ ์ฝ๊ฒ ๋งํด ํ ์คํธ ๋ชจ์๋์ ๋๋ฏธ์ ๋๋ค. ํ ์คํธ๋ผ๋ฆฌ ์๋ก ๊ตฌ๋ถํ๊ฑฐ๋ ์ฌ์ฉํ๊ธฐ ์ํด์ ๋ฌถ์ด ๋์ ๊ฒ์ ๋๋ค ๋ชธํต ์์ชฝ์์ ๋ฐ๊นฅ์ ๋ณ์๋ฅผ ์ฌ์ฉํ ์๋ ์์ง๋ง, ๋ฐ๋๋ก ๋ฐ๊นฅ์ชฝ์์ ์์ชฝ์ ๋ณ์๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
( ) { } [ ] //๋ชจ๋ ๋ชธํต์ ์๋ฏธํ๋ฉฐ ์๋ก ๋ค๋ฅธ ํน์ง์ด ์์ต๋๋ค.
//๋จ, ์์ํ๋ ๊ธฐํธ์ ๋๋๋ ๊ธฐํธ์ ์ข
๋ฅ๊ฐ ๊ฐ์์ผ ํ ๋ชธํต์ ์ด๋ฃน๋๋ค.
ํจ์

- ํจ์ A๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ํจ์ A์ ์๊ณ ๋ฆฌ์ฆ์ ๋ง๋๋ ๋ฐฉ๋ฒ
A(์ซ์) { //์
๋ ฅ๋ฐ์ ๊ฐ์ 4๋ฅผ ๋ํ ๊ฐ์ ์ถ๋ ฅํ๋ ํจ์๋ฅผ ๋ง๋ญ๋๋ค
return ์ซ์+4
}
B() { //10์ ์ถ๋ ฅํ๋ ํจ์๋ฅผ ๋ง๋ญ๋๋ค
return 10
}
๊ฒฐ๊ณผ = A(2) //A ํจ์๋ฅผ 2๋ผ๋ ๊ฐ์ผ๋ก ํธ์ถํฉ๋๋ค
๊ฒฐ๊ณผ = B //A ํจ์๋ฅผ ํธ์ถํ ๋ ๋ชธํต์ ์๋ตํ ์ ์์ต๋๋ค
b() {
A = [] //๋น ๋ชธํต A๋ฅผ ํ ๋น
A.add("Hello, World!") //A์ Hello, World!๋ผ๋ ํ
์คํธ๋ฅผ ์ถ๊ฐํจ
A.add("bump") //A์ bump๋ผ๋ ํ
์คํธ๋ฅผ ์ถ๊ฐํจ
A.remove("bump") //A์ bump๋ผ๋ ํ
์คํธ๋ฅผ ์ญ์ ํจ
return A
}
๊ฒฐ๊ณผ = b
์กฐ๊ฑด
๋ง๋๋ ๋ง์ง ์๋๋๋ผ๋ ๋๊ฐ์ง ๊ฒฐ๊ณผ๋ง์ด ์กด์ฌํ๋ ์กฐ๊ฑด๊ฐ์ ์ฐธ(true), ๊ฑฐ์ง(false)์ด ์์ต๋๋ค.
๊ฒฐ๊ณผ = A < B //์ผ์ชฝ ๊ฐ์ด ์ค๋ฅธ์ชฝ ๊ฐ๋ณด๋ค ์์ ๋ ์ฐธ์ ๋ฐํํจ
๊ฒฐ๊ณผ = A <= B //์ผ์ชฝ ๊ฐ์ด ์ค๋ฅธ์ชฝ ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋ ์ฐธ์ ๋ฐํํจ
๊ฒฐ๊ณผ = A > B //์ผ์ชฝ ๊ฐ์ด ์ค๋ฅธ์ชฝ ๊ฐ๋ณด๋ค ํด ๋ ์ฐธ์ ๋ฐํํจ
๊ฒฐ๊ณผ = A >= B //์ผ์ชฝ ๊ฐ์ด ์ค๋ฅธ์ชฝ ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๋ ์ฐธ์ ๋ฐํํจ
๊ฒฐ๊ณผ = A == B //์ผ์ชฝ ๊ฐ๊ณผ ์ค๋ฅธ์ชฝ ๊ฐ์ด ๊ฐ์ ๋ ์ฐธ์ ๋ฐํํจ
๊ฒฐ๊ณผ = A != B //์ผ์ชฝ ๊ฐ๊ณผ ์ค๋ฅธ์ชฝ ๊ฐ์ด ๋ค๋ฅผ ๋ ์ฐธ์ ๋ฐํํจ
๊ฒฐ๊ณผ = !(A == B) //๋ถ์ ์ฐ์ฐ์๋ ์
๋ ฅ๋ ์กฐ๊ฑด๊ฐ์ ๋ฐ๋๋ก ๋ฐํํจ
๋ ํ ์คํธ ์ค ์กฐ๊ฑด๊ฐ์ ๋ฐ๋ผ ํ๋๋ง ์คํํฉ๋๋ค.
if (A == B) {
//์กฐ๊ฑด์ด ์ฐธ์ผ ๊ฒฝ์ฐ ์คํ๋๋ ๋ชธํต
๊ฒฐ๊ณผ = '๊ฐ์ต๋๋ค'
}
else {
//์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ ์คํ๋๋ ๋ชธํต
๊ฒฐ๊ณผ = '๋ค๋ฆ
๋๋ค'
}
if (์ซ์ < 0) ๊ฒฐ๊ณผ = '์ซ์๊ฐ ์์์
๋๋ค'
else if (์ซ์ == 0) ๊ฒฐ๊ณผ = '์ซ์๊ฐ 0์
๋๋ค'
else if (์ซ์ > 0) ๊ฒฐ๊ณผ = '์ซ์๊ฐ ์์์
๋๋ค'
else ๊ฒฐ๊ณผ = '์ซ์๊ฐ ์๋๋๋ค'
if (A == B && C == D && E == F) ... //AND ์ฐ์ฐ์(&&)๋ ์์ชฝ ๊ฐ์ด ๋ชจ๋ ์ฐธ์ผ ๋ ์ฐธ
if (A == b || C == D || E == F) ... //OR ์ฐ์ฐ์(||)๋ ์์ชฝ ๊ฐ์ค ํ๋๋ผ๋ ์ฐธ์ผ ๋ ์ฐธ
if (A == B && C == D || E == F) ... //A์ B๊ฐ ๊ฐ๊ณ C์ D์ ๊ฐ๊ฑฐ๋, E์ F๊ฐ ๊ฐ์ ๋ ์ฐธ
๋ฐ๋ณต
์กฐ๊ฑด์ด ์ฐธ์ผ ๋์๋ง ํ ์คํธ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
num = 0
while (num < 10) { //๊ฐ์ด ์ฐธ์ผ ๊ฒฝ์ฐ ๋ชธํต์ ์คํํ๊ณ ๊ฐ์ด ๊ฑฐ์ง์ผ ๋๊น์ง ๋ฐ๋ณตํฉ๋๋ค
...
num = num + 1
}
//๊ฒฐ๊ณผ๋ 0์์ ๋ถํฐ 9๊น์ง ์
๋๋ค
//for(์ด๊ธฐ๊ฐ, ์กฐ๊ฑด๊ฐ, ์ฆ๊ฐ๊ฐ)
for(i = 0; i < 10; i++) {
...
}
//1. ์ด๊ธฐ๊ฐ์ ์คํํ๋ค
//2. ์กฐ๊ฑด๊ฐ์ด ์ฐธ์ด๋ฉด 3์ผ๋ก ์ด๋ํ๊ณ ๊ฑฐ์ง์ด๋ฉด 4๋ฒ์ผ๋ก ์ด๋ํ๋ค
//3. ๋ชธํต์ ์คํํ ํ ์ฆ๊ฐ๊ฐ์ ์คํํ๊ณ 2๋ก ์ด๋ํ๋ค
//4. ์ข
๋ฃ
ํด๋์ค
๋ณ์์ ํจ์๋ฅผ ๋ด์๋์ ์ ์์ต๋๋ค
class ๊ฐ์์ง {
๋์ด = 5
์ด๋ฆ = ํ๋ฆฌ๋
}
๊ฒฐ๊ณผ = ๊ฐ์์ง.์ด๋ฆ + "์ ๋์ด๋ " ๊ฐ์์ง.๋์ด + "์ด ์
๋๋ค." //์์ฉ
//์ฐธ์กฐ ์ฐ์ฐ์(.)๋ก ํด๋์ค์ ๋ณ์๋ ํจ์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค
//์์ฉ
class ๊ฐ์์ง { ์ด๋ฆ = ํ๋ฆฌ๋ }
class ์ฃผ์ธ { ์ ์๋๋ฌผ() { return ๊ฐ์์ง } }
๊ฒฐ๊ณผ = ์ฃผ์ธ.์ ์๋๋ฌผ.์ด๋ฆ
FreedyLang ์ ๋ํ ๋ด์ฉ์ ์ฌ๊ธฐ๊น์ง ์ ๋๋ค.
McFreedyLang