반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- python #백준 #9375 #패션왕 #신해빈
- dfs #이진트리 #트리구조 #직렬화 #역직렬화 #파이썬 #리트코드 #leetcode #python
- 해시테이블 #heapq #파이썬 #리트코드 #알고리즘
- exoplayer #mediaplayer #엑소플레이어 #안드로이드 #android
- Python #leetcode #dfs #그래프 #백트래킹
- dfs #python #leetcode #combination
- 아스테리스크 #Asterisk #파이썬
- handler #looper #thread #runnable #핸들러 #루퍼 #스레드 #러너블
- 파이썬 #zip
- context #android #getApplicationContext #activity #생명주기 #lifecycle
- leetcode #python #dfs #재귀
- dfs #bfs #트리구조 #이진트리 #leetcode #python #파이썬
- dfs #python #leetcode
- dfs #bfs #이진트리 #파이썬 #리트코드
- 다익스트라 #dijkstra #leetcode #파이썬 #python #algorithm #787
- dfs #bfs #트리구조 #이진트리 #leetcode #파이썬 #python
- 백준 #파이썬 #bfs #백트래킹 #1697 #숨바꼭질
- 2004 #조합 0의 개수 #백준
- dfs #그래프 #graph #python #leetcode #course #schedule
- dfs #bfs #leetcode #python
- 다익스트라 #알고리즘 #bfs #그리디 #다이나믹프로그래밍 #leetcode #python
- gcd #최대공약수 #백준 #2981 #검문
- final #java #자바 #안드로이드
- dfs #leetcode #python #graph #그래프
- 리트코드 #팰린드롬 #파이썬
- dfs #leetcode #python
- leetcode #subsets #dfs #itertools #python
- AsyncTask #doinbackground #스레드 #thread #android #안드로이드
- python #백준 #2580 #스도쿠 #dfs #백트래킹
- 코틀린 #Do it #깡샘 #안드로이드
Archives
- Today
- Total
멋진 개발자가 되고 싶다
[JAVA] final 이해하기 본문
728x90
반응형
자바의 기본기를 닦고 안드로이드를 시작한 것이 아니기에
코드를 보다 보면 종종 static, final 같은 표현을 만날 때가 있다.
변수 선언을 하면 안드로이드에서 알아서 final을 달아라, static을 달아라 이러길래 시키는 대로 하고 있었는데
오늘에서야 확실하게 짚고 넘어가려 한다.
final
여러 컨텍스트에서 단 한 번만 할당될 수 있는 entity를 정의할 때 사용됩니다
(위키피디아 참고)
단순하게 말하면 final로 선언된 변수는 한번 초기화되면 다른 값으로 재할당할 수 없다는 것이다.
1
2
3
4
|
public void test(){
final String str = "abc" // abc라는 값이 할당된 String 변수 str
str = "def" // 에러 발생!
}
|
cs |
하지만 객체 타입의 변수를 final로 지정했을 때 재할당은 불가능하지만
객체의 속성은 변경 가능하다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public void test(){
final Movie movie = new Movie("Spyder Man",2009);
movie = new Movie("Hulk",2008); // 재할당 불가능!
movie.name = "Hulk" // 멤버 변수 변경은 가능!
class Movie{
String name;
int releaseDate;
movie(String name,int releaseDate){
this.name = name;
this.releaseDate = releaseDate;
}
}
}
|
cs |
728x90
반응형
'Android > 개발 관련 팁' 카테고리의 다른 글
[Android] 스레드에 대해 끄적여본다. (0) | 2021.08.24 |
---|---|
[Android] getApplicationContext() 이해하기 (0) | 2021.08.02 |
[Android] 안드로이드와 파이썬 서버간 TCP 통신하기 (0) | 2021.07.20 |
[Android] Android에서 ExoPlayer 사용하기 (0) | 2021.07.19 |
[네트워크] TCP 통신이란? (0) | 2021.07.15 |