분류 전체보기 91

[Head First Java] 3_2. 원시변수와 레퍼런스

자..레퍼런스 변수 입니다. 레퍼런스 변수란 어떤 객체를 가르키는 포인터 같은 것입니다. MyClass myclass = new MyClass(); 와 같이 객체를 생성했다고 하면, myclass를 새로 생성된 MyClass 객체를 핸들링 할 수 있는 레퍼런스 변수라고 합니다. 따라서 레퍼런스 변수가 객체를 의미하지는 않습니다. 그저 객체를 조정할 수 있는 포인터에 불과하지요.. 그럼 잠깐 C 얘기를 해볼까요? int * a; a = (int *)malloc(sizeof(int) * 10); 이렇게 하면 int 사이즈 곱하기 10개 만큼 사용할 메모리 공간이 확보되고, 그 공간은 "a"라는 변수를 이용해서 접근할 수 있습니다. 그쵸? 그럼 "a"의 사이즈는 얼마인가요? int를 4바이트라고 했을때 말이에..

Work/Java 2007.07.18

[Head First Java] 3_1. 원시변수와 레퍼런스

이번에는 변수 이야기 입니다. 변수는 "변하는 수"라는 이야기인데.. 이놈들은 어떤때에 사용할까요? 네.. 값을 저장하고 저장한 값을 사용할 때 사용합니다. 앞서서 2. 클래스와 객체 에서 Music 클래스를 살펴보면 title과 artist가 있었죠? 이것들이 바로 변수입니다. (요놈들은 String type의 변수이죠..) 어떨때 사용한다는건 대강 감이 오시나요? 그럼.. 원시변수를 이번시간에 살펴보고 다음에 레퍼런스 변수를 살펴보도록 합시다. 다음과 같은 변수를 원시 변수라 합니다. boolean, char, byte, short, int, long, float, double 각 원시 변수의 크기와 범위를 살펴보면 아래와 같습니다. 유형 비트수 범위 boolean it depends on jvm t..

Work/Java 2007.07.16

[Head First Java] 2. 클래스와 객체

책에서는 Chapter 2까지 겨우 왔을 뿐인데.. 너무 많은 이야기를 하고 있어요.. 상속, 메소드 오버라이드, 캡슐화, 인스턴스 변수 까지.. 물론 맛보기 일테지만 처음 보시는 분을 헷갈려 하실것 같아서.. 전 그런 부분을 요번에는 다루지 않습니다. 추후에 관련 파트에서 다루도록 하지요.. 그럼 클래스와 객체가 무엇일까요? 쉽게 말하자면.... 붕어빵 드셔본적 있으시죠? 클래스는 붕어빵 틀이구요.. 객체는 붕어빵입니다. ^^ 더 어렵나요? 그럼 좀 풀어서 써볼께요.. 클래스는 무엇을 만들고자하는 틀을 말합니다. 그 자체로는 어떻게 사용할 수 가 없어요.. (물론 뒤에 정적(static) 메소드/변수를 배우면 사용할 수 있어요~ 이건 지금 생각않으셔도 됩니다. ) 클래스는 딱 두가지를 가지고 있는데, ..

Work/Java 2007.07.12

[Head First Java] 1.5 자바의 버전에 대해

처음에 자바 공부를 하려고 도서관에 갔더니 Java2 어쩌고 하는 책이 있었더랬죠.. Java랑 다른건가.. 하고 생각했었는데.... 머 모든지 처음하는 일은 잘 모르기 마련이니까요 ^^ 그럼 객체와 클래스 이야기를 하기에 앞서서 잠깐 자바 버전이야기를 해볼까 합니다. 요새 핸드폰 모두 가지고 계시죠? 핸드폰을 작동하기 위해서 펌웨어라고 알고계시는 것이 들어가는데.. 이것이 기능을 좀 더 추가하거나 버그를 잡게 되면 펌웨어 업그레이드 라는 것을 합니다. 이때, 펌웨어 업그레이드 공지를 살펴보면 "버전 xx 이하를 새로운 버전으로 업그레이드 해드립니다." 라고 공지합니다. 기능의 수정이나 추가를 한 다음에 버전을 한단계 올리는 것이죠.. 자바도 마찬가지로 버전을 가지고 있습니다. 버전업 순서를 살펴보면 아..

Work/Java 2007.07.11

[Head First Java] 1_1. 언제 어디서나 시작은 "Hello Wordl!!!"

자바 파일 안에는 어떤 것들이 있을까? import 선언문 우리가 보통 자바 프로그램을 만든다고 할 때, 필요한 모든 기능을 직접 구현하지는 않는다. 물론 직접 구현해서 만들수도 있겠으나, 그렇게 한다면 시간도 엄청 많이 걸릴 것이고.. 또 각 코드가 모두 올바르게 동작한다는 것을 보장하기 힘들다. (물론 모두 다 정확히 테스트 한다고 한다면 ..ㅡㅡ) 따라서 이미 구현해 놓은 클래스들을 사용하게 되는데 이것들을 사용하겠다는 표시를 해주는 것이 import이다. 여기서 질문이 나올만 한 것들을 뽑아보자! 저기요.. 그럼 import java.io.*; 하면 그 아래의 클래스가 소스 위에 철커덕 붙나요? 아닙니다!! 이건 C가 아니고 자바랍니다. import의 의미는 java.io 내부의 클래스를 사용하겠..

Work/Java 2007.07.03

[Head First Java] 1. 껍질을 깨고

껍질을 깨고 나의 서문 우연한 기회에 Head First Java라는 책을 접하게 되었다. 책을 좀 들춰보니 책의 서문에도 써 있듯이 이게 그림책인지.. 프로그래밍 책인지.. 헷갈릴 정도였고.. 거기다가 글의 단락이 보기좋게 나뉘어 있는 편이 아니라서 참 보기 난감했다. 게다가 글자가 너무 작게 쓰여있어서 사실 읽기조차 싫어졌다.. 그치만 남들보다 한글자 한글자 자세히 읽어야 했기 때문에.... 일단 몇 장 본 것으로 전체를 판단할 수 는 없지만, 개인적인 느낌을 이야기 하자면 .. 첫째, 완전 초보자가 이 책으로 공부하기에는 힘들겠다. 둘째, 어느 정도 아는 사람들이 보기에는 그다지 하드코어하지 않겠다. 셋째, 기존의 자바 관련 서적들과는 다른 구성이 이해를 약간 어렵게 할 수 있으나 그럭저럭 재미있다..

Work/Java 2007.06.24

[SUD_Project] 대용량 파일 지원과 막강한 로딩 속도

안녕하세요? CK_ONE 입니다. 봄틀의 고질적인 문제를 집어보면 대용량 mp3의 미지원, 대용량 txt의 미지원 등.... 큰 파일에 약한 모습을 보였습니다. 그 이유는 malloc(메모리 할당)을 무식하게 한방에 처리하기 때문입니다. 메모리 할당에 실패하게 되면 프로그램이 비정상 종료되거나 이상 동작하게 됩니다. 이것을 해결하기 위해서는 우선 mp3 쪽의 메모리 사용을 조절해야 합니다. mp3에서 일정량의 버퍼만을 할당한 뒤 해당 버퍼만을 사용하여 채우고 비우고를 반복하게 하여 많은 메모리를 사용하지 않더라도 버퍼 만큼의 메모리만 확보하면 어떤 파일도 재생할 수 있게 하는 것입니다. 비슷한 원리로 텍스트 뷰어도 구현이 가능하지만 문제는 최초에 페이지 수 를 계산해야 한다는 것이고 페이지 간 이동 시에..

Work/PSP 2007.05.18

[SUD_Project] 텍스트 뷰어 개발 시작

안녕하세요? CK_ONE 입니다. 오늘부터 텍스트 뷰어 개발에 들어갈 예정입니다. 사실 위에 스샷들 보시면 아시겠지만 이미 시작했습니다. 한 두 시간정도 작업했는데.. 일단 읽어서 화면에 띄우는 정도 까지 작업 진행 중입니다. 일단.. 줄 바꿈 처리 해야하고, 그 다음엔 라인 단위 이동을 구현해야 합니다. 그것이 되면 이제 10 페이지 100 페이지 단위 이동을 하면 되구요.. 또... 폰트의 크기가 변할 때 동적으로 설정을 변경하여 적용하는 루틴을 구현해 볼 생각이구요.. 그 후에는 북마크에 관해 생각해볼 예정입니다. 이 정도까지 하면 대충 음악 들으면서 책을 읽을 수 있는 정도가 나올것 같습니다. 요새 PSP 개발에 흥미가 떨어지고 있걸랑요.. 요샌 루비 온 레일스로 관심이 옮겨가는 바람에.. 시간은..

Work/PSP 2007.05.17

봄틀에 이은 새로운 프로젝트는 SUD-Project

(동영상 소리가 이상합니다. 실제로는 아주 깨끗합니다. 진짜에요~ ㅠㅠ) 안녕하세요? CK_ONE 입니다. 아직도 많은 분들이 관심을 가져 주시고, 이것저것(?) 클릭도 해주셔서 감사합니다. 요새 짬을 내서 조금씩 코딩을 하고 있습니다. 지난번 봄틀에서 MP3 부분을 너무 신경 안써서.. 그 부분을 먼저 신경써서 만들고 있습니다. 현재 MP3는 만족할만한 정도 수준이 된 것 같습니다. 물론 완전 주관적으로요 ^^;;; 텍스트 뷰어는 아직 손도 안대서 갈길이 멀고도 멉니다. 여러분들이 원하시던 큰 파일 지원, 폰트 크기 조절 등 모든 부분을 지원하기 위해 많은 아이디어를 내고 있습니다. 현재 폰트는 FreeType을 포팅하여 ttf 폰트는 모두 사용 가능합니다. (Jake님 제보 감사합니다 ^^) 오지랖 ..

Work/PSP 2007.05.12