it

    함수에 적용할 수 있는 call, apply, bind

    함수 객체에 적용할 수 있는 메서드 3가지가 있다. 그것은 바로 call, apply, bind인데, call과 apply, bind의 공통점은 현재 실행되는 컨텍스트(this)가 무엇인지 바꿀 수 있다는 것이다. 기본적으로 객체가 아닌 이상 기본적으로 실행되는 컨텍스트는 window이다.(브라우저 기준) bind bind는 비교적 쉽다. 함수객체가 가리키고 있는 현재 컨텍스트(this)만 바꿔주는 역할을 한다. this만 바꿔주고 호출은 하지않는 역할을 한다. 함수 내부에서 this를 쓰면 bind에서 넘겨준 this를 사용하게 된다. call call은 함수객체의 현재 컨텍스트(this)도 바꾸지만, 함수를 호출해준다. Array.prototype.forEach.call(this, 인자) 여기선 인자..

    자바 익명클래스와 자바 람다 (Java Anonymous class, Java Lambda) 1편

    자바 익명클래스와 자바 람다 (Java Anonymous class, Java Lambda) 1편

    자바의 람다는 익명클래스와 매우 비슷한 모습을 하고있다. 그러나 둘은 아주 다르다. 익명클래스 일단 익명클래스는 어쨌거나 사용할 때 보통 객체와 동일하게 힙에 할당이 된다. 메인메소드 내에서 익명클래스를 사용하면 컴파일 시에 $1, $2 등과 같은 순서대로 클래스파일이 생성이 된다. 예시로, 평범한 인터페이스를 하나 선언한다. 추상클래스나 일반 클래스도 상관없다. interface Test{ public int getNum(); } 그 후, 메인에서 바로 사용하기 위해 재정의를 해준다. public class LambdaTest { public static void main(String[] args) { Test t1 = new Test(){ public int num = 10; public int ge..

    유니티 함수 호출 구조

    유니티 함수 호출 구조

    함수 호출 순서는 어느 프레임워크나 동일한 것 같다.게임엔진도 웹 개발이나 임베디드에서 정해진 루틴처럼 딱 딱 실행되거나 실행되어야하는 게 있다. 일단 C# 언어의 기본은자바처럼 클래스이름과 파일이름이 동일해야한다. ( 객체지향 ) 유니티 이벤트 함수들은 별도로 호출 할 필요가 없다. 유니티 엔진이 사용하는 함수이름이라면 자동으로 호출하게 된다. 시작 때 한번만 호출되는 함수들과 매 프레임마다 호출되는 함수들(루프 구조)종료때 호출 되는 함수들로 구분되어 진다. 위 Log를 보고 알 수 있는것은 , Awake 함수와 Start함수는 한번만 실행되고(초기화), Update와 LateUpdate는 앞에서 글로 적었던 것 처럼 매 프레임마다 호출되는 것을 알 수 있다. 씬에 들어가는 오브젝트에 스크립트를 넣어..