게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
java local class 관련 질문드릴게여
게시물ID : programmer_15960짧은주소 복사하기
작성자 : 멘붕과학생
추천 : 0
조회수 : 395회
댓글수 : 7개
등록시간 : 2016/02/25 15:00:37
옵션
  • 베스트금지
  • 본인삭제금지
  • 외부펌금지
로컬 클래스 즉, 메소드내 에서 inner class 를 사용하는걸 보다가 의문점이 들어서 글을 작성합니다.

메소드에서 파라미터로 받아온 값을 inner class로 사용하려면 final 이라는 키워드가 필요하던데

왜.. 라는 의문이 들어서 찾아보고 있지만 .. 마땅히 이해가 가는 글이 없어서 .. 질문드릴께요 .. ㅠ

검색 결과 (?)
 지역클래스의 인스턴스가 소멸된 지역변수를 참조할 수 있기 때문이다.
라는 말을 찾아서 이해해 보려고 하고있는데 ... 

좀 이해가 안가네요 .. ㅠ


예시 )

public void executeSql(final String query) throws SQLException{ 
 StatementStrategy stmt = new StatementStrategy() { 
 @Override 
 public PreparedStatement makePreparedStatement(Connection c) throws SQLException { 
 // TODO Auto-generated method stub 
 PreparedStatement ps = c.prepareStatement(query); 
 return ps; // 쿼리가 담긴 ps 를 반환 
 
  }; 
  workWithStatementStrategy(stmt); 
 }

위와같이 final 이 쓰임 ..
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호