전체 글 (41) 썸네일형 리스트형 3-1 상수 상수를 표현하는 방법은 int num=1+2; System.out.println(1.2+3.4); 이렇게 사용해서 표현할 수 있습니다. 여기서 상수는 총 네번, 1,2,1.2,3.4 가 쓰였습니다. 상수도 또한 변수처럼 메모리 공간에 저장이 됩니다. 대신 저장된 값의 변경이 불가능합니다. 상수의 특징은 #이름이 없다.#이름이 없으므로 메모리에 저장된 상수의 값을 변경시킬 수 없다. 이렇게 알 수 있습니다. 상수는 선언된 값에 맞는 가장 작은 자료형(short, byte 등)에 맞춰서 저장되지 않을까도 생각이 들수도 있습니다만... 기본적으로 모든 정수형 상수는 int, 실수형 상수는 double형으로 표현, 저장됩니다. 그럼 10000000000 등 int의 범위값에 넘어가거나 12.34처럼 float형.. 2-4 자료형의 이해 앞서 byte, short, int, long 등의 자료형에 대해 알게 되었습니다.int형은 4바이트의 공간을 갖고, short는 2바이트, long은 8바이트의 공간을 갖는다고 했습니다.저는 프로그래밍에 대해서 배울때, "모든걸 큰 자료형으로 선언하면 귀찮은것도 없고 편하지 않나? 왜 굳이 int를 쓰고 하지?" 했었습니다. 지금도 하고있지만요.옛날에는 아주 작고, 한정적인 메모리 공간만을 가지고 프로그램을 만들어야 했으니 자료형의 선택이 매우 중요했지만지금은 거의 8GB 이상의 메모리가 기본이 되다시피 컴퓨터를 사용하고 있습니다.메모리 공간만을 생각해보면 그렇지만, 우리가 일반적으로 사용하는 CPU는 int형 연산을 가장 빠르게 처리할 수 있게 설계 되어있습니다.그렇기 때문에 보통 int로 선언해서.. 2-3 실수 표현방식의 이해 2-2에서는 정수 표현 방법에 대해서 봤습니다. 이번엔 실수 표현방식을 볼건데요. 1과 2, 1과 3 등등 정수와 정수 사이에는 1.1, 1.2, 1.11, 1.1111111.. 등등 무한히 많은 실수가 존재합니다. 따라서 이러한 소수점 이하 자리수까지 표현 하기엔 한계가 생기죠. 그래서 실수를 표현하는 방법은 정밀도를 포기하고 표현의 범위를 넓히는 방법으로 정했습니다. 여기선 굉장히 복잡한 수식이 나오는데, 생략하겠습니다. 이전 글에서 실수끼리 연산했을때 3.0000002가 나올거라 예상했으나 3.0000001999999997 라는 숫자가 나왔던 것에 대한 답이 이것입니다. 표현의 범위가 넓어진 대신 정밀도가 낮기 때문에 이러한 결과가 발생하게 됩니다. 2-2 정수 표현방식의 이해 컴퓨터는 2진수를 사용합니다. 2진수는 0과 1로만 표현하는 방법이죠. 양의 정수를 표현하는 방식은 00011001 이라는 숫자를 보면0 2-1 변수의 이해와 활용 변수란, 데이터 저장과 참조를 위해 할당된 메모리 공간 이라고 정리할 수 있습니다. 메모리란 데이터를 저장하고, 저장된 데이터를 참조하기 위한 물리적 장치 입니다. 그래서 메모리의 공간 활용은 데이터의 저장과 참조라고 할 수 있습니다. 변수의 선언이란 곧 메모리 공간을 활용한다는 이야기가 됩니다. 변수를 선언하고 연산을 수행한 뒤 출력까지 했습니다. 결과는 이렇게 나오게 됩니다. 위에 int는 변수에 저장할 데이터의 종류를 알리는 용도로 사용이 되었습니다. 자바에서는 이러한 키워드를 자료형 이라고 합니다. 자바에서 제공하는 기본 자료형은 8가지가 있는데, booleancharbyteshortintlongfloatdouble 이 있습니다. boolean은 참과 거짓만 판별해주는 자료형이며, 메모리 크기는 .. 1-4 주석 주석이란 컴파일의 대상에서 제외되는 문장을 의미합니다. 주석을 이용하면 프로그램 코드에 원하는 메모를 작성할 수 있게 됩니다. 블록 단위의 주석은 /* 내용 */ 행 단위 주석은 // 내용// 내용2 이런 형태로 작성하게 됩니다. 워낙에 간단한 개념과 내용이니 이정도로 간단히 줄이고 넘어가도록 하겠습니다. 그렇다고 주석이 중요하지 않은 것은 아닙니다. 코딩시에 주석을 달아놓는 습관을 반드시 가지시길 바랍니다. 1-3 자바 프로그램의 관찰과 응용 앞서 만들었던 HelloJava.java는 하나의 클래스로 이루어져있는 프로그램 입니다. 그리고 그 안에는 하나의 메소드가 존재합니다. 이런식으로 나눠서 해석할 수 가 있겠습니다. 여기서 관찰할 수 있는 사실들은 @프로그램을 실행시키면 main메소드 안에 있는 문장이 순차적으로 실행된다.@클래스 이름이 MyClass이면 컴파일 시 생성되는 파일의 이름은 MyClass.class 이다.@System.out.println의 괄호 안에 출력하고픈 것을 큰 따옴표로 감싸서 넣으면 출력이 된다.@System.out.println은 출력을 한 다음에 행(Line)을 바꾼다.@System.out.println과 같이 컴퓨터에게 무엇인가 일을 시키는 문장을 가리켜 "명령문"(Statement)이라고 한다. System.. 1-2 자바 프로그램의 이해와 실행의 원리 일반적인 프로그램의 실행구조와 자바프로그램의 실행구조는 위 그림과 같습니다. 자바는 자바프로그램과 운영체제 사이에 JVM(Java Virtual Machine, 자바 가상 머신) 이 존재합니다. 운영체제가 자바 가상머신을 실행시키고, 자바 가상머신은 자바 프로그램을 실행시키는 구조입니다. 자바 가상머신은 운영체제 위에서 동작하는 일종의 소프트웨어 입니다. 어떤 프로그램이던 운영체제에 상관없이 실행시키기 위한 구조입니다. 그래서 자바 프로그램은 운영체제에 독립적인 성격을 가집니다. 앞선 글에서 컴파일러에 대한 이야기를 했었습니다. 자바 컴파일러는 자바 가상머신이 이해할 수 있는 코드를 생성해냅니다. 따라서 앞서 만들었던 HelloJava.java 파일을 "소스파일" 이라 하고, 소스파일에 저장된 프로그램 .. 이전 1 2 3 4 5 6 다음 목록 더보기