요번에 안드로이드를 공부해야되서 안드로이드에 필요한 자바 문법을 찾아 헤매다 발견했습니다. 자세한 내용을 다루고 있지 않지만, 그런쪽(?)인가..라는 느낌을 받을 수 있을 것 같습니다. 자바에 '자'짜도 모르시는 분은 한번 읽어보세요. 많은 도움이 안되어도 아주 작은 부분 느낌이 와닿을 수 있습니다.
번호 |
주제 |
이유 |
1 |
Class, Object |
Java는 기본적으로 Object-oriented Programming 언어입니다. 따라서, 클래스와 객체 간의 개념에 대해선 당연히 알고 있어야 하겠죠. 클래스는 그 자체 만으로는 실행될 수 없기에 반드시 객체화 되어야 하는데, Java에서는 객체화 할 수 없는 클래스들(Interface)도 있어서 이들에 대한 관계 정립이 무엇보다 절실히 요구됩니다. 굳이 C 언어와 비교를 하자면, 우리가 함수를 main 함수 내에서 호출하여 사용하고자 할 때는 호출하기 이전에 호출하려는 함수의 "정의" 가 필요한데, 바로 이러한 '함수의 정의' 를 '클래스' 로, main 함수 내에서 이를 실제로 호출하여 사용하는 것을 '객체' 로 비유할 수 있겠습니다. 즉, 실제 프로그램적으로 실행시키려면 반드시 이전에 정의한 클래스를 먼저 객체로 생성하여 사용하여야 한다는 뜻입니다. |
2 |
Package |
Java 소스를 컴파일하면 Class 파일(= bytecode)이 생성되며, 이러한 Class 파일들이 여럿 모여서 Package 가 생성될 수 있습니다. Java 에서는 Package 선언 시 반드시 "." 으로 선언하며 이러한 "." 들은 각각 하나의 디렉토리(폴더)와 매칭이 되는데, 안드로이드 어플리케이션은 기본적으로 패키지 형태(*.apk)로 개발이 되니 알아두면 좋을 것 같네요. |
3 |
Overload, Override |
한번 정의된 method 를 다시금 정의하는 방식으로는, 같은 method 이름으로 여러 인자 값을 조정하여 같은 이름의 method 를 여러 번 정의하는 것을 Overload(다중 정의) 라고 하며, 상속받은 상위 클래스에서 선언된 method 의 정의를 다시금 수정하는 것을 Override(재 정의)라고 합니다. 안드로이드는 상속받고자 하는 상위 클래스, 예를 들어 Activity 클래스에서 선언된 onCreate() 메쏘드를 다시금 새롭게 정의하는 Override 방식으로 구현되어 있습니다. |
4 |
this, super |
Java는 클래스가 객체화 되질 않으면 프로그램에서 사용할 수 없기 때문에 참조할 수 없지만 만약 그럴 경우가 필요할 경우 사용되는 키워드가 바로 this 와 super 입니다. this 는 자기 자신, super 는 상속받으려는 상위 클래스를 지칭하는 키워드입니다. |
5 |
Thread |
꼭 미리 공부하시기 바랍니다. 정말 어렵기 때문입니다. ㅠ.ㅠ 사용하려는 Thread 에 대한 정의는 run() 를 이용하여 내가 하게 되지만, 이에 대한 실제 실행은 운영체제(OS)의 스케줄링에 의해 실행되기 때문에 실행에 대한 요청은 start() 를 이용하여 하게 됩니다. 또, Thread 간 서로 간에 정보를 교환해야 할 경우 Handler 가 필요하게 되는데 이런 것들이 의외로 어렵습니다. 꼭, 공부하시기 바랍니다. (★ 강조) |
6 |
ArrayList |
배열(array)을 좀 더 개선시킨 방법이 ArrayList 입니다. C 언어에 익숙하신 분들이라면 처음 보는 내용일테니 한번쯤 확인해 보시기 바랍니다. |
7 |
Listener, Adapter |
Java는 이벤트를 발생시키는 컴포넌트(안드로이드에서는 Widget)와 이에 대한 처리(handling)는 별도로 구분하고 있습니다. 버튼이 눌렸거나 체크 박스가 체크되었을 때 무언가 이벤트 처리를 해야 하는 게 기본적일 것이므로 꼭 공부하시기 바랍니다. |
8 |
Socket |
안드로이드는 기본적으로 Wi-Fi 인터넷을 기본 네트워크로 가정하고 있습니다. 그러다 보니 Socket 연결을 통해 보다 유연하게 프로그램을 설계할 수 있도록 지원하고 있습니다. 소켓 프로그래밍.. 이 기회에 공부해 보심이.. ^^;;; |
'안드로이드' 카테고리의 다른 글
[Android] Full Build시에 Java API를 추가하거나 수정한 경우 (0) | 2011.03.03 |
---|---|
Android 의 Media Player 고찰 (0) | 2011.03.02 |
[안드로이드] 전체화면(FullScreen)으로 보기 (0) | 2011.02.11 |
나만의 Seekbar 만들기 (2) | 2011.02.11 |
[안드로이드] Supporting Multiple Screens (0) | 2011.01.29 |
안드로이드 Context 에 관하여 (0) | 2011.01.27 |
안드로이드 크기 단위 (0) | 2011.01.21 |
안드로이드 Log의 유형 (0) | 2011.01.20 |
안드로이드 버전별 이름 (0) | 2011.01.18 |
안드로이드 개발 환경 구축 (0) | 2011.01.18 |