본문 바로가기

분류 전체보기

[Javascript] 객체지향 자바스크립트 [함수는 데이터, 콜백함수, 함수반환, 내부함수] # 함수는 데이터함수를 변수에 할당할 수 있다이러한 방식을 함수 리터럴 표기법(function literal notation) 예) 함수 리터럴 표기법 function(){return 1;} 이 부분이 함수 표현식(function expression)함수표현식은 이름을 가질 수 있으며, NFE(named function expression), 이름있는 함수표현식이 된다typeof 를 하게되면 "function" 문자열이 반환 (위의 사진 참고) 함수를 다른 변수에 복사할 수 있다 예) 변수의 이름지정규칙과 동일한 규칙 적용(숫자로 시작불가) # 익명 함수(anonymous function) 익명함수를 매개변수로 다른 함수에 전달가능함수이름이 없음익명 함수를 정의하고 바로 실행 가능 예) # 콜백 함수(c..
[Javascript] 객체지향 자바스크립트 [함수, 호이스팅, 블록범위] # 함수(function)란 무엇인가? 코드를 그룹화하고 이름을 지정하여, 기능을 수행하는 코드 함수 선언의 구성 요소 function 키워드 함수이름 함수 매개변수 (사용하지 않거나 개수를 임의로 지정가능하며 쉼표(,)로 구분) 코드 블록(= 함수본문) return문, 함수는 항상 반환값이 있다. 명시적으로 반환하지 않으면 암시적으로 undefined 반환 함수는 하나의 값만 반환 가능 함수 호출 함수 이름을 사용하여 호출 함수 호출시 괄호 안에 매개변수 제공가능 매개변수(parameter) 함수를 선언할 때 필요한 매개변수 지정가능 함수를 선언할 때 필요한 매개변수 지정가능 매개변수가 없을수도 있다 매개변수가 필요한 함수이지만 호출시 매개변수를 제공하지 않으면 자바스크립트에서는 undefined값이 ..
[Javascript] 객체지향 자바스크립트 [조건문, 반복문, 주석] # 조건과 루프 [ if문 ] if(조건){ A; }else{ B; } 조건이 true 일 때 A 실행조건이 false 일 때 B 실행조건에는 항상 부울 값을 가짐( true 또는 false ) if(조건){ }else if(조건){ }else if(조건){ } ... 여러 if 문을 쓸 때에는 else if() 를 사용해도 된다무제한으로 사용 가능if(조건){ if(조건){ }else(조건){ } }else{ } if문 안에 if문을 중첩시킬 수 있다. [ switch문 ] switch(변수){ case 변수반환값: 표현식; break; case 변수반환값: 표현식; break; default: } 보통 변수를 switch 문의 소괄호에 넣지만 반환값만 있다면 어떤 것도 가능반환값에 맞는 case 표현..
[Javascript] 객체지향 자바스크립트 [원시 데이터형식, 배열] # 변수(variable) var 로 선언변수에 저장된 데이터는 처음 할당된 후 변경 될 수 있음변수는 대소문자를 구분함변수는 숫자로 시작할 수 없음 # 연산자(operator) 연산자는 하나 또는 두개의 값을 받아 연산을 수행하고 값을 반환# 원시 데이터 유형 숫자(Number) : 부동 소수점 숫자와 정수를 포함문자열(String) : 임의의 개수의 문자로 구성됨부울(Boolean) : true 또는 false정의되지않음(Undefined) : 존재하지 않은 변수에 접근하려할 때 undefined를 받음Null : null도 하나의 값임. 값이 없거나 빈 값. undefined 와의 차이점은 null은 정의 되어 있지만 undefined는 정의되어있지않음 위의 원시 유형에 포함되지 않으면 나머지는 다..
[Javascript] 객체지향 자바스크립트 [기본개념 및 환경설정] 이 책을 기준으로 작성했습니다 # ECMAScript (European Computer Manufacturers Association) 핵심 언어로 변수, 함수, 루프 등을 포함한다. 이 부분은 브라우저와 독립적이며, 다른 여러 환경에서 사용될 수 있다. # ECMAScript5 (ES5)새로운 객체와 속성엄격모드 도입 (strict mode) 엄격모드(strict mode)란? - 좀 더 엄격하게 문법검사를 하겠다. - 옵트인(opt-in)이며 필수는 아님. - "use strict"; 함수당 한번, 또는 전체 프로그램에서 한번. - 자바스크립트 문자열로, 문자열을 변수에 할당되지 않은 상태로 둠으로써 ES5를 지원하지 않는 구형 브라우저는 이를 무시하므로 이전버전과 호환되고 구형 브라우저를 손상시키지..
[Unity] 'Toms And Jerry' - 1인 미니게임개발기 #1 어떻게 하게 됐나?#2 'Toms And Jerry' 인 이유#3 게임 룰 및 조작법#4 소스코드 리뷰#5 게임플레이#6 느낀점 #1 어떻게 하게 됐나? 대학교에서 진행하는 특강을 한달동안 들으며, 결과물을 내고 싶어 만들었습니다. '안드로이드스튜디오', 'JavaFx', 'Unity' 를 맛보기로 배운 정도인데 그중에 가장 마음에 드는 툴이 Unity 였다. C#언어를 사용한다고 했지만 Java와 별 다른 점이 없었고, 객체지향언어이다보니 다가가기 쉬웠습니다. 3D게임개발이라는게 어렵게 느껴졌지만 한자리에서 공부를 한다고 잘 응용하는 타입이 아니고 부딪혀보고 에러에 익숙해지면서 성장해나가는 타입이라 그냥 부딪혀봤습니다. [ Unity ] #2 'Toms And Jerry'인 이유 처음에 게임으로 ..
[C++] 복습일지 c++ 파일분할 안녕하세요 오늘은 C++ 파일분할법에 대해서 공부를 했습니다. 지금까지 저는 'main.cpp' 라는 파일 하나에 작성을 해왔습니다. 물론 틀린 방법은 아닙니다. 하지만 프로그램의 규모가 커지고, 코드의 줄도 길어진다면 가독성이 떨어지지않을까요?또 다른곳에서 사용을 할 수도 있는 코드는 재사용성이 있으므로, 나누는것이 효율적이라는 생각이 듭니다. '헤더파일''cpp파일' 이렇게 두 종류로 나눌 수 있는데요header는 단어를 해석하자면, 머리 라는뜻이 있는데요 헤더파일 : 클래스의 선언부, 함수 선언 확장자는 .hcpp파일 : 클래서의 구현부, 함수 구현 확장자는 .cpp 그렇다면 나누는 법을 알아보도록 하겠습니다. #include class Calculator { public: ~Calculator()..
[C++] 복습일지 inline함수 그리고 virtual 안녕하세요 오늘은 inline 함수에 대하여 공부해서 적어보도록 하겠습니다. 일반 함수와 인라인함수의 가장 큰 차이가 무엇일까요? 프로그래머가 어떻게 코드를 짯느냐가 아니라, C++ 컴파일러가 코드를 프로그램에 어떻게 결합하느냐 입니다. [일반함수의 호출과정] → 함수호출 → 함수호출명령 다음의 명령의 주소를 메모리에 저장→ 스택에 매개변수 복사→ 함수가 시작되는 메모리 위치로 점프→ 함수실행→ 함수의 return값을 레지스터에 복사→ 저장해두었던 주소의 명령으로 돌아옴 [인라인함수의 호출과정] → 컴파일 된 함수코드→ 프로그램의 다른 코드 안에 직접 삽입 그렇다면 당연히 속도는 인라인함수가 약간 빠르게 진행됩니다그러나 메모리 측면에서는 그렇지 않습니다.왜냐하면 예를들어 인라인함수를 10번 호출을 한다면..