๐Ÿ›ฅ๏ธ

McFreedyLang

๋ชฉํ‘œ

๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ ์ œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

FreedyLang

๋ชฉํ‘œ

์ฝ˜ํ…์ธ ๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •์„ ๊ฐ„๋‹จํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ฃผ์ œ

ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ํ…์ŠคํŠธ์˜ ์ข…๋ฅ˜์™€ ํŠน์ง•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

ํ…์ŠคํŠธ์˜ ์ข…๋ฅ˜

  1. ์ฃผ์„
  1. ๋ณ€์ˆ˜
  1. ์‚ฐ์ˆ 
  1. ๋ชธํ†ต
  1. ํ•จ์ˆ˜
  1. ์กฐ๊ฑด
  1. ๋ฐ˜๋ณต
  1. ํด๋ž˜์Šค

์ฃผ์„

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์„ค๊ณ„๋„, ์ฆ‰ ์†Œ์Šค ์ฝ”๋“œ์—์„œ ๋ชจ๋“  ํ…์ŠคํŠธ๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์ธ์‹ํ•ด์„œ ์ž‘๋™ํ•˜์ง€๋งŒ, ์ฃผ์„์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์žˆ์–ด ๋ฉ”๋ชจํ•˜๋Š” ๋ชฉ์ ์œผ๋กœ ์“ฐ์ž…๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ฃผ ๋ชฉ์ ์ž…๋‹ˆ๋‹ค.

ํ•œ์ค„๋งŒ ๋ฉ”๋ชจํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ํ•œ์ค„ ์ฃผ์„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•œ์ค„ ์ฃผ์„์€ ์Šฌ๋ž˜์‰ฌ 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  //์‘์šฉ

๋ชธํ†ต

๋ชธํ†ต์€ ์‰ฝ๊ฒŒ ๋งํ•ด ํ…์ŠคํŠธ ๋ชจ์•„๋†“์€ ๋”๋ฏธ์ž…๋‹ˆ๋‹ค. ํ…์ŠคํŠธ๋ผ๋ฆฌ ์„œ๋กœ ๊ตฌ๋ถ„ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฌถ์–ด ๋†“์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค ๋ชธํ†ต ์•ˆ์ชฝ์—์„œ ๋ฐ”๊นฅ์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ๋ฐ˜๋Œ€๋กœ ๋ฐ”๊นฅ์ชฝ์—์„œ ์•ˆ์ชฝ์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

( ) { } [ ]  //๋ชจ๋‘ ๋ชธํ†ต์„ ์˜๋ฏธํ•˜๋ฉฐ ์„œ๋กœ ๋‹ค๋ฅธ ํŠน์ง•์ด ์—†์Šต๋‹ˆ๋‹ค.
//๋‹จ, ์‹œ์ž‘ํ•˜๋Š” ๊ธฐํ˜ธ์™€ ๋๋‚˜๋Š” ๊ธฐํ˜ธ์˜ ์ข…๋ฅ˜๊ฐ€ ๊ฐ™์•„์•ผ ํ•œ ๋ชธํ†ต์„ ์ด๋ฃน๋‹ˆ๋‹ค.

ํ•จ์ˆ˜

  1. ํ•จ์ˆ˜ A๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
  1. ํ•จ์ˆ˜ A์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•
A(์ˆซ์ž) {    //์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์— 4๋ฅผ ๋”ํ•œ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค
	return ์ˆซ์ž+4 
}

B() {        //10์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค
	return 10
}

๊ฒฐ๊ณผ = A(2)  //A ํ•จ์ˆ˜๋ฅผ 2๋ผ๋Š” ๊ฐ’์œผ๋กœ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค
๊ฒฐ๊ณผ = B     //A ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋ชธํ†ต์„ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
๐Ÿ’ก
A ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค ๋•Œ ํ•จ์ˆ˜ ์ด๋ฆ„ ๋’ค์— ๋ชธํ†ต์ด 2๊ฐœ ๋‚˜๋ž€ํžˆ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ ๋ชธํ†ต์—๋Š” ์ž…๋ ฅ๋œ ๊ฐ’์„ ๋‹ด๋Š” ๋ณ€์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ๋‘๋ฒˆ์งธ ๋ชธํ†ต์—๋Š” ํ•จ์ˆ˜์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. โ€returnโ€์€ ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
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