-
[Java]초기화란?Java & Kotlin 2020. 5. 30. 18:14반응형
문득 "초기화"가 뭘까라는 생각이 들었습니다.
우리가 공유기를 사용하다가 잘 안될 때 "초기화"를 하고는 합니다. 그때 일반적으로 드는 생각은 뭔가 설정이 가득 쌓여있다가 싹 사라지고, 초기 설정으로 돌아가는 느낌이 듭니다.
하지만 왜 초기화하는 걸까요? 애초에 넣은 값이 없는데, 뭘 다시 되돌리는 걸까요? 뭐가 있어야 처음으로 돌아갈 값도 있는 것 아닐까요?
Intialization (초기화)의 사전적 의미
영어로는 "Initialization" 입니다.
구글 사전에 의하면 "작업을 시작하기 위해서 값을 설정하거나 넣는 것, 포맷(컴퓨터 디스크)"이라는 뜻 이라고 합니다.
엥? 뭔가 되돌리는 느낌이랑 완전 반대입니다. 애초에 아무것도 없기 때문에 뭔가 넣어주는 느낌입니다.
위키피디아에서 좀 더 알아보겠습니다. "컴퓨터 프로그래밍에서 초기화는 데이터 객체 혹은 변수를 위해서 초기값을 지정해주는 것"이라고 나와있습니다.
그렇습니다. 초기화를 하게 되면 JVM이 Heap 메모리에 주소를 할당을 하게 됩니다.
초기화
Tistory tistory = new Tistory()
tistory 객체를 메모리에 할당합니다. 아직 tistory 객체를 이용해서 어떠한 메서드도 가지고 오지 않았지만, 메모리에서는 tistory를 위한 공간을 만들어 놓은 상태입니다. 즉 빈 공간의 메모리 주소를 설정해놓은 상태입니다. 이때 tistory 객체 변수를 이용해 메서드를 가지고 오게 된다면, 해당하는 메모리 주소에 값이 입력되게 됩니다.
저는 처음에 공부를 할 때 "초기화"라는 단어가 헷갈렸습니다. 뭔가 되돌려야 하는데, 아무것도 없는데 자꾸 되돌리라고 하니까요. 그래서 저처럼 혹시나 헷갈리시는 분들은 영어단어 그대로를 찾아보시는 것도 도움될 것이라고 생각합니다.
반응형'Java & Kotlin' 카테고리의 다른 글
(Java)Math.max vs 삼항연산자 (0) 2021.01.30 [Java]2차원 배열이란? (0) 2020.09.02 Firefox Java Coding Style (0) 2020.06.13 (JAVA)hasNext() vs next() 메서드 차이점? (0) 2020.05.18 [Java]Static 메서드란? 사용하는 이유 (0) 2020.04.18