자바의 기초적인 부분을 다시 답습한다는 생각으로 공부를 진행하였다.
변수, 자료형, 문자열 표현 등 기초적인 부분에 대해서 공부했다.
확실히 처음에 공부할 때 너무 겉핥기식으로 배워서 그런지 잘 모르거나 한 부분들이 있었다.
오늘은 몰랐거나 새로 알게된 부분에 대해서 정리하겠다.
시작하는 HelloJava 출력부분에서 자바 폴더에관해 얘기를 하는데 이때까지 bin을 보고 쓰레기통이라고 생각했다. 그래서 프로그램을 실행하고 나면 남는 찌꺼기를 모아두는 것이라는 생각을 했는데 binary의 약자임을 처음 알았다.
이제 알게된 구조에 대해서 설명을 해보자면
Eclips에서 내가 하고 있는 코딩(source code)은 src(source)폴더에 .java 형식으로 있고 이를 저장하게 되면 컴파일을 진행하여 bin(binary)폴더에 .class 형식으로 만들어진다.
여기서 binary는 이진의 의미를 가진다고 한다. 즉 바이너리 형식의 이진수로 이루어진 컴퓨터가 읽을 수 있는 파일을 자바 가상 머신(JVM)이 읽어서 실행하는 것이다.
변수 이름을 정하는 기본적인 규칙은 잘 알고 있었다. 그런데 특수문자중에 $을 써도 된다는 것은 처음 알았다.(사용한 적이 없어서 그런 것 같다)
변수의 이름이 길더라도 정확하게 작성하는 것이 좋다!
지금까지 ch1, num1, num2 식으로 작성한 경우가 많았는데 차라리 변수 이름이 길더라도 명확한 표현이 좋다는 것은 처음 알았다. 아마 공부하는 상황에서는 num1, num2를 자주 쓰다 보니 이런 것이 좋다고 자연스럽게 생각하게 된 것 같다.
그리고 소문자 대문자 나눠 쓰는 방식을 camel표기법이라고 하는 것을 알았다.(용어를 몰랐다.)
문자형에 ASKII - euc-kr - UNICODE에 대해 잘 알게 되었다. 이전에는 그냥 종류만 들었는데 왜 생긴지 어떤 식으로 호환이 되는지에 대해 알게 되었다.
int, short, byte등이 어떨 때 쓰이는 지 알게 되었고 지역변수에서는 var로 자료형없이 script처럼 쓸 수 있다는 것을 알게 됬다.
형변환을 할 때마다 오류가 나서 여러번 시도 했는데 이번에 배운 기회로 L,F를 붙이는 경우에 대해 확실히 알게 되어 좋았다. 캐스팅만 신경썼는데 리터럴의 크기에 대해서는 이번에 처음 배웠다.
처음 배운 개념이고 int, double형으로 존재한다는 것을 알게 되었다.
프로그램이 실행되기만 하면 무조건 메모리를 할당받아 constant pool, Data 영역에 머물었다가
프로그램이 unload될 때 사라진다.
연산자에서는 거의 다 알고 있던 내용인데 비트 연산자의 부분만 조금 확실히 알게 되었다.
사실 (())의 방식의 코드를 입력할 때 이런 방식이 있다는 것을 몰랐는데 적극 이용할 것 같다.
( (n+1) ) 식으로 한칸 띄워쓰는 것이 가독성이 너무 좋다는 것을 알게되어 좋았다.
확실히 저번에 공부할 때 겉핥기식이여서 깊은 개념에대한 것을 한두개 배우는데 조금 껄끄럽다.(리터럴이나 메모리개념 같은 건 여러 번 들어봐야 했다.)
이번에 배울 때는 좀 확실한 개념을 잡아가며 배우는 것이 중요한 것 같다. 다시 공부하고 또 다시 공부해야 하는 일이 없도록 노력해야겠다.
오늘 공부의 시작인데 아직은 크게 어려운 것은 없다만 앞으로 어려운 내용이 나올 것 같아 앞의 내용을 빨리 학습하고 뒷 내용에 시간을 투자하고 싶다는 생각이 많이 들었다. 그렇다고 앞의 내용에 소홀히 할 생각은 없다.