12월, 2021의 게시물 표시

[JAVA] 변수란? 변수타입?

이미지
프로그램 언어를 배울때 항상 먼저 배우거나 집고 넘어가는 것이 있죠? 네 맞습니다.  변수 라는 것입니다. C언어나 Java에서는 int, char, float 등 자료형에 따라 다르고, Javascript에서는 모든 변수를 그냥 var로 사용하죠. 물론 또 개발 언어마다 조금씩 차이가 있습니다. 하지만, 기본적으로 "변수"라는 기본 개념은 모든 언어에서 모두 동일합니다. 이번 포스팅은 이 변수에 대하여 낱낱이 파헤쳐 봅시다.  아! 참고로 변수에 대하여 정말로 낱낱이 땅끝까지 파헤치자면 이 한번의 포스팅으로는 부족합니다. 따라서 오늘은 일차적으로 가장 기본이 되는 변수의 정의와 원시타입에 대해서만 낱낱이 살펴보도록 하겠습니다. 변수란 무엇일까? 자! 일단 변수란 무엇일까요? 변수란? 물어보면 가장 먼저 사람들은 당당히 말을 하죠.  "변하는 수" 물론 이 말도 틀린 말은 아닙니다. 우리 프로그래밍에서는 변수라는 공간에 값이 항상 변하는 그리고 그런 용도로 사용하려는 것이 변수니까요. 변수는 영어로 "Variable"라고 읽습니다. 이것을 사전에서 찾아보면 "변화하기 쉬운, 변덕스러운, 다양한" 이라는 의미를 갖습니다. 뭐 이 말도 틀린 말은 아니네요. 하지만! 우리는 개발자로도 더 프로그래밍 적인 의미를 원합니다. 그래서 이렇게 정의를 했죠. 변수란? 데이터(값)을 저장할 수 있는 프로그램의 저장 공간! 서론이 길었네요. ^^. 항상 무언가 정의를 내리기란 쉽지 않습니다..ㅎㅎㅎ 변수를 좀 더 이해하기 위해 아래의 그림을 예를 들어 보겠습니다. 위와 같이 우리가 물을 마셔야 한다면, 물을 마시기 위해 당연히 물 컵이 있어야겠죠.  아! 물통에 입을 대고 드시는 분들도 계시지만... 그러면 엄마한테 혼납니다. ㅎㅎ 아무튼 이렇게 물을 마시기 위해 물을 담을 컵을 준비하는 것을 프로그래밍에서는 "데이터를 사용하기 위해 변수를 선언한다" 라고 이야기 할 수 있습니다.  그럼 ...

[JAVA] JVM, JRE, JDK 이해하기

이미지
오늘은 JVM, JRE, JDK에 대하여 알아보려고 합니다. 이들은 모두 앞의 글자 J로 시작하는 부분이 모두 Java의 약자입니다. 따라서 여러분들도 알다시피 모두 Java와 관련된 파일이라는 것을 짐작할 수 있을 거라 생각합니다. 일단 긴 설명은 이어서 하기로 하고 제가 열심히 그림 그림부터 보고 가겠습니다. 간단히 먼저 살펴보시면 좋을 거 같습니다. 자 위에서 보는 그림을 간단히 순서대로 설명하자면 아래와 같습니다 Java가 실행이 되려면 먼저 JVM(Java Virtual Machine)이라는 일명 자바 가상 머신이 필요하다. JVM에는 크게 ClassLoader, Excution Engine, Garbage Collector(GC)가 존재한다. ClassLoader : 실행에 필요한 클래스 파일 또는 라이브러리 파일들을 하나로 모아준다. Excution Engine : 모아준 파일의 내용을 적절히 실행을 위해 메모리에 분산 배치한다. Garbage Collector : 실행중에 발생하는 메모리 파편(사용하고 난 쓰레기 메모리)를 정리한다. JVM을 포함하고 있는 JRE(Java Runtime Enviroment) 자바실행환경을 통해(설치된) OS(운영체제 : Linux, Windows, Mac 등등)에서 실행 파일이 동작한다. JDK(Java Development Kit) 자바개발킷은 자바가 실행되는 사용 환경에서는 필요 없으나 개발자가 Java를 통해 개발하기 위해 필요한 라이브러리 및 각종 파일들을 가지고 있다. 또한 개발자가 JDK를 설치하면 그 안에 JRE가 포함되어 있다. 이렇게 전체적인 그림에 대한 흐름을 간단히 설명 드렸습니다. 그럼 이제 구체적으로 하나씩 하나씩 더 상세히 살펴보기로 하죠. JVM(Java Virtual Machine) JVM은 앞서 살펴본 대로 Java에서 가장 핵심 코어인 자바가상머신입니다. 단어에서 딱 보기에도 머신이라는 말이 먼가 코어스럽죠? ^^ 위 그림에서 보면 JVM은 "플랫폼 독립적(이식성)이다...

[JAVA] 아카이브 파일 Export/Import 방법

이미지
오늘은 Eclipse에서 작업한 소스 코드를 통으로 내보내고 가져오기 위한 방법에 대한 포스팅을 준비했습니다.  물론 파일 탐색기를 통하여 디렉토리를 통째로 압축하고 다시 사용할 곳에 압축해제하여 사용해도 문제는 없습니다.  다만 우리는 Eclipse를 이용하여 내보내기(Export) 및 가져오기(Import)를 제공하므로 이를 이용하는 방법을 간단히 살펴보도록 하겠습니다. Export 메뉴를 이용한 데이터 내보내기 먼저 소스 파일을 내보내기 위해 아래와 같이 File > Export 메뉴를 선택합니다. 그러면 우측과 같이 Export 팝업 창이 표시가 되겠죠. 여기서 우리는 Archive File을 선택한 후 Next를 클릭합니다. 이후에 표시되는 화면에서 아래와 같이 왼쪽에서 모든 파일을 체크합니다. 그러면 오른쪽의 파일들은 자동으로 모두 선택된 상태로 표시됩니다. 여기서 물론 좀 사용해 보신 분들을 본인의 생각에따라 내보내고 싶은 파일만 오른쪽에서 선택하여 내보내기해도 상관 없겠죠? 그리고나서 Browse... 를 선택하여 내보내고 싶어하는 디렉토리(폴더)를 선택합니다.  주의 : 여기에서 주의할 점은 파일이름을 작성할 경우 현재 디렉토로 안에 동일한 파일 이름과 동일한 이름의 폴더( 아래에서는 day01 )가 존재한다면 저장을 누를 경우 저장이 아닌 해당 폴더로 이동한다는 것에 주의하세요. 즉 파일 이름을 day01로 하고 day01이라는 폴더가 존재한다면 이와 같은 현상이 발생합니다. 자! 그럼 우리는 아래와 같이 내보낼 디렉토리를 선택하고 파일이름을 day01_ex 처럼 주도록 하겠습니다. 그리고 "저장"을 클릭하세요. "To archive file"의 디렉토리 및 파일명을 확인하고 "Finish"를 클릭합니다. 그래면 아래와 같이 day01_ex.zip라는 압축파일이 생겼다는 것을 알 수 있습니다. 이제 그다음으로 내보내기 한 파일을 읽어들일 차례입니다. Import 메뉴를 이용한 데이터 ...

[JAVA] 컴파일러 초간단 이해하기.

이미지
오늘은 많은 분들이 개발을 시작할때 항상 궁금해하고 어려워(?)하는  컴 파 일 러 에 대하여 알아보려고 합니다.  도대체 뭘 일러~~~!  $%^&#$@@ -----> 헛소리 그만하고.. 일단 컴파일에 대해 공학적 접근에서 개념적 정의로 아래와 같이 말을 하곤 합니다. 컴파일이란? 고급언어( 사람이 알아듣는 언어 )로 작성된 코드를 컴퓨터가 알아들을 수 있는 저급언어( 기계가 알아듣는 언어 )로 번역하여 실행을 위한 프로그램( 바이너리 파일 )으로 변환해주는 작업. 그리고 컴파일러는 이러한 행위를 하기위한 도구를 말합니다. 즉, 사람으로 비유하자면 한국말을 영어로 통역하는 것은 컴파일에 해당되고, 이 행위를 하는 사람인 통역사는 컴파일러와 같은 의미가 되는거죠. 자! 컴파일과 컴파일러를 설명하기 전에 먼저 아래와 같은 그림을 맛보기로 개념을 살며시 살펴보기로 하겠습니다. 우리가 말도 통하지 않는 오지를 탐험한다고 칩시다. 정글탐험을 위해 일단 정글로 향하겠죠. 그러다 어느순간 원시 부족을 만났다고 칩시다. 만약 당신이 진정한 능력자면 혼자서 손짓 발짓 몸짓으로 원하는 것을 얻을수도 있겠지만 우리는 그럴 능력이 없는 평범한 인간이죠. 그래서 오지에서 가이드 겸 통역을 해줄 통역사가 필요합니다. 즉 우리는 원시부족을 만났을때 원하는 결과를 얻기 위하여(물이 필요하다고 칩시다) 통역사를 필요로 하고 우리는 이 통역사에게 영어(고급어)로 말하면 통역사는 이를 번역하여 원시어(저급어)로 원시 부족에게 말을 합니다. 그러면 원시부족은 결과물인 물을 우리에게 건네주겠죠. 이처럼 컴퓨터에서도 동일합니다.  우리는 고급언어(Java, C++, C# 등)로 컴퓨터에게 원하는 결과를 얻기위해 컴퓨터가 알아들을수 있는 저급언어(기계어)로 컴파일(변환)하여 컴퓨터에게 명령을 해야 합니다.  이처럼 변환하는 과정을 컴파일이라하며, 이러한 도구를 컴파일러라 합니다.  또한 위에서처럼 영어를 원시어로, 한글을 원시어로, 중...

[JAVA] printf() 문자열 포맷 알아보기

이미지
오늘은 Java에서 printf() 함수를 사용할 때 %로 시작하는 키워드에 대한 문자열 출력 포맷에 대하여 정리하는 포스팅을 준비했습니다. 많은 분들이 알고 계시고 자주 사용하는 %d, %s에서 부터 잘 사용하진 않지만 그래도 한번쯤 이런것이 있다하고 알아두면 언젠가 한번쯤 써먹게 될 만한 %x(16진수표현)에 대하여 정리를 해 보았습니다. 이번 포스팅은 개념보다는 정리 차원의 포스팅이니 가볍게 읽어 나가셔도 될것 같습니다. 여러분들도 다 알고 계시고 자주 사용하는 printf()와 %s를 사용하여 아래와 같이 출력을 표현할 수 가 있죠. String str = "World!" ; System . out . printf ( "Hello %s" , str ) ; 위와 같은 소스코드를 실행해보면 %s가 str의 변수에 들어 있는 "World!" 문자로 치환되어 결과는 아래와 같이 표시되는 것을 알 수 있습니다. Hello World! 혹시나 처음 보시는 분들을 위해 간단히 printf()의 함수에 대하여 설명드렸습니다. 이제 printf() 포맷에 대한 문법은 다음가 같습니다. System.out.printf(format, arguments); 위에서 잠시 살펴본 %s와 같은 지시자 또는 키워드들은 아래와 같은 것들이 있습니다. 위에 정리한 내용 외에 추가적으로 아래와 같이 응용하여 사용하는 것이 가능합니다. String 출력시 왼쪽/오른쪽 맞춤으로 출력하기 System . out . printf ( "[%20s]%n" , "Hello!" ) ;     // 숫자가 양수면 오른쪽 정렬 System . out . printf ( "[%-20s]%n" , "Hello!" ) ;    // 숫자가 음수면 왼쪽 정렬 [ Hello!] [Hello! ] 여기서 %n은 새로운 줄을 의미하는 ...

[JAVA] 프로그래밍 학습의 단골손님 (Hello World!) 출력하기

이미지
  이제 본격적으로 JAVA 프로그래밍을 시작해 보도록 합니다. 그 시작은 고전적인 개발자의 시작을 알리는 Hello World! 로 부터 시작하도록 하겠습니다. 1. 우리는 기존 포스팅에서 이클립스를 설치했습니다. 설치한 이클립스 폴더에서 아래와 같이 eclipse.exe을 실행해보자. 위와 같이 eclipse를 실행하면 아래와 같은 화면이 표시된다. 2. 작업 디렉토리를 변경하라는 화면이 표시된다.  개인적으로 프로젝트를 하나의 디렉토리에서 관리하는 것을 추천한다. 따라서 아래와 같이 폴더를 생성하여 해당 폴더를 선택하도록 한다. 여기에서는 C 디스크에 생성하였지만 D 디스크가 있는 경우는 이 디스크에 생성하는 것을 추천한다. 3. 작업 폴더를 아래와 같이 C:\workspace 라고 만든다. 4. 생성한 폴더를 선택한다. 이제부터 eclipse에서 작업하는 모든 프로젝트는 여기에만 저장하도록 한다. 4. Launch를 클릭하면 아래와 같이 eclipse의 welcome 화면을 볼수 있다. 일단 상단의 X 버튼을 클릭해 Welcome 화면은 닫도록 하자.  시간적 여유와 영어 실력이 되시는 분들은 한번 여유롭게 읽어보시는 것도 좋을 듯 하다...^^ 5. 화면 우측 상단에 보면 'Open Perspective' 라는 아이콘이 있다. 이걸 클릭해 개발 작업모드(환경)을 설정해 주자. 우리는 'Java'를 개발할 것이므로 이걸 선택한다. 6. 좌측에 Create a project를 클릭하거나 단축키 'Ctrl + N'을 클릭하여 문서 또는 프로젝트를 만들 수 있는 wizard 창을 열자. 그리고 여기서 우리는 자바를 개발할 것이므로 'Java Project'를 선택한다. 7. New Java Project 화면에서 Project name과 JRE 환경을 확인하고 Finish를 클릭한다. 여기서는 현재까지는 경험상 개발업무에서 가장 많이(?) 사용하는 버전인 JavaSE-1.8 을 선택하였지만, 현재 J...

[JAVA]이클립스 설치

이미지
이클립스를 설치해보자 1. 하단의 링크를 클릭해서 이클립스 공식 홈페이지로 이동하자. 이클립스 홈페이지 ( https://www.eclipse.org/ ) 홈페이지에서 위의 Download 버튼을 클릭하자. 2. 아래와 같은 화면이 표시되면, 우측 하단에 Download Packages 글자를 클릭하자. 여기서 Download x86_64를 클릭해서 설치 파일을 다운로드 받아도 되지만, 이 파일은 모든 패키지들이 들어 있는 설치 파일이므로, 우리는 Java Developers 패키지만 다운로드 받기위해 다운로드 패키지 선택을 위한 목록 페이지로 이동한다. 3.  Eclipse IDE for Java Developers에서 우측에  Windows x86_64(bit) 를 클릭한다. 4. 이제 다운로드 버튼을 클릭하여 zip 파일을 다운로드 받자. 아래와 같이 다운로드가 시작되며, 우측의 위로 화살표를 클릭하면 파일 열기 또는 폴더 열기 버튼이 있으니 일단 폴더를 열어 다운로드된 폴더로 이동한다. 4. 다운로드가 완료되면, 해당 폴더에서 윈도우 11을 기준으로 마우스 우클릭하여 압축풀기 를 클릭한다. 5. 원하는 폴더에 eclipse를 설치하기 위해 찾아보기를 클릭 하여 폴더를 선택하자.  6. 여기서는 내 PC -> C 디스크 를 선택한다. 본인 PC에 D가 존재한다면 여기에 설치해도 무방하다. 일단 여기서는 C:\eclipse 아래에 eclipse를 실행하기 위해서 C에 압축을 해제하도록 한다. 7. C 디스크에 압축을 해제하면 C:\eclipse 폴더 아래에 자동으로 압축을 해제한다. 압축을 해제하는데 상당한 시간이 걸리므로 느긋하게 기다리도록 하자...^^ 8. 압축이 해제되면 C:\eclipse 폴더 생성되고, 해당 폴더 아래로 들어가보면, 여러 파일들 중에 eclipse.exe 가 있는 것이 보일것이다. 이제 실행을 위해 해당 파일을 더블클릭하여 실행하지. 9. 처음 실행하면 아래와 같이 개발 작업을 위한 작업 폴더를 ...