편집 기록

편집 기록
  • 프로필 정토드님의 편집
    날짜2016.06.01

    final 예약어 질문입니다.


    void method1()
    {
        final int a = 10;
        TextView tv = (TextView)findViewByID(R.id.btn);
        tv.setOnClickListener(new OnClickListener() {
            @Override
            void onClick(View v)
            {
                    a++;
            }
       });
    }
    

    여기서 변수 a가 final로 지정되지 않으면 생애주기 차이때문에 onClick 메소드 내에서 동일하게 사용할 수 없잖아요. 그럼 JVM이 여기서의 final을 static으로 변환하나요? 만약 static으로 변환한다면 메소드 method1이 종료되어도 변수 a는 메모리상에 살아있는등 완전히 static으로 선언했을때와 동일시해야 맞는 건가요? 감사합니다.

  • 프로필 알 수 없는 사용자님의 편집
    날짜2016.06.01

    final 예약어 질문입니다.


    void method1()
    {
        final a = 10;
        TextView tv = (TextView)findViewByID(R.id.btn);
        tv.setOnClickListener(new OnClickListener() {
            @Override
            void onClick(View v)
            {
                    a++;
            }
       });
    }
    

    여기서 변수 a가 final로 지정되지 않으면 생애주기 차이때문에 onClick 메소드 내에서 동일하게 사용할 수 없잖아요. 그럼 JVM이 여기서의 final을 static으로 변환하나요? 만약 static으로 변환한다면 메소드 method1이 종료되어도 변수 a는 메모리상에 살아있는등 완전히 static으로 선언했을때와 동일시해야 맞는 건가요? 감사합니다.