1. Byte Code & Java Virtual Machine(JVM) 자바는 컴파일 언어이면서도 인터프리터 언어이다. 자바는 platform에 독립적이다. ▣ 컴파일 언어 컴파일 과정을 거치는 언어를 컴파일 언어라고 한다. 컴파일은 소스 코드를 기계가 알아볼 수 있는 기계어로 바꿔주는 작업을 말한다. cf)링킹 : 외부 라이브러리를 기계어로 변경하여 프로그램에 추가하는 작업 ▣ 인터프리터 언어 소스를 한 줄씩 읽으면서 실행하는 것을 인터프리...
1. Java Hello World 어느 언어를 공부하던지, 대부분 처음으로 접하는 코드는 "Hello World"를 출력하는 코드이다. 쉽게 보이지만 분석하고 설명하려면 꽤나 많은 내용들을 가지고 있는 코드. Hello World를 분석해보자! (소설같은 자바가 좋은 점이 이런점인 것 같다. 몇몇 프로그래밍 책을 보았지만 Hello World에 대해 제대로 설명해주는 책은 잘 보지 못했다...물론 내가 별로 책을 읽지 않아서 그랬을 수도 있지만.) ▣ ...
1. 클래스와 메모리 예전에 대학교때 Linked List를 만들면서 삽질한 기억이 있다. 아무리 봐도 로직에는 문제가 없는 데 지긋지긋한 'segmetaion fault'가 뜨는 것이었다. (저 에러라면 아주 치가 떨린다... 예전에 나는 친구에게 '닌 내 인생에서 segmentaion fault다!' 라고 악담을 한 적도 있다...훗.) 온 갖 삽질을 한 결과, 변수에 메모리를 할당하지 않은 것을 발견했다...엄청난 닭짓을 한 것.( 하지만 그 결과 segmen...
1. 클래스와 메서드 대학교에서는 C 언어를 주로 공부했었다. 자바는 한 학기 정도 들었나...그리고 마지막 소프트웨어 공학 수업을 들으면서 어거지로 자바를 조금 하게 되었다. 이젠 자바로 밥먹고 살아야 되는 인생이지만. 대학교때나 지금 회사에 와서나 자바를 공부하면서 느낀 것은 동일하다. "도대체 왜 객체 지향 언어를 써야하나?" 물론 현재 직장인으로서는 대답을 할 수 있다. 객체 지향, 특히 자바는 생산성이 뛰...
1. 클래스의 구성요소 이러니 저러니 해도, 클래스의 구성요소는 아래의 3가지 형태로 설명할 수 있다. ▣ 클래스의 구성요소 I ◈ 변수 ◈ 메서드 ▣ 클래스의 구성요소 II ◈ 멤버 변수 또는 멤버 필드 ◈ 멤버 메서드 ▣ 클래스의 구성요소 III ◈ 클래스 = 데이터 + 메서드 ◈ 클래스 = C 언어의 구조체 + 메서드 3가지 형태로 써놓았지만 결국엔 모두 같은 말이다. 앞장에서 말한 것 처럼, 클래스는 사용자 정의 데이터 ...
■ 클래스와 객체의 개념을 안다면 자바의 절반 정도를 깨달은 것이다. 1. 기본 데이터 타입으로는 한계가... 기본 데이터 타입에는 하나의 데이터만 담을 수가 있다. 2개 이상의 데이터를 하나의 데이터 타입에 담을 수 있을까?(물론 배열을 사용하면 가능하지만.) 그리고... 데이터라는 것은 서로 연관되어 있기 마련이다. 이런 데이터의 연관성을 좀 더 쉽게 알아 볼 수 있고, 관리할 수 있는 방법이 없을까? 『C언어에서는...
■ 데이터 타입은 클래스를 이해하기 위한 언어적인 기초이다. 1. 데이터 타입이 뭐지? 지금까지 데이터 타입을 "여러 타입의 자료형을 미리 정해둔 것"정도로만 이해하고 있었다. 그러나 좀 더 깊이 이해한다면 늘 쓰면서도 아리송했던 클래스에 대해 한발짝 더 다가갈 수 있다. 『데이터 타입은 메모리를 얻어오기 위한 수단이다』 데이터 타입이 나오게 된 근본적인 이유는 프로그래머가 메모리를 얻어올 때 그 크기를 지정...