본문 바로가기

IT

[Java 기초] #5. 추가적인 데이터 타입과 오퍼레이터 배열 Arrays 배열은 공통된 이름을 가지는 같은 타입의 변수의 집합입니다. 다른 언어들처럼 자바도 다차원 배열을 지원합니다. 배열도 자바에서는 오브젝트이기 때문에, 선언할 때 new 를 사용합니다. 클래스 오브젝트와의 차이점은 괄호 안에 컨스트럭터로 넘겨지는 파라메터를 명시하지 않고, 대괄호 안에 배열의 크기를 지정한다는 것이죠. type array-name[] = new type[size]; type은 배열 변수의 데이터타입을 의미하며 size는 배열 변수의 갯수를 정의합니다. 배열의 정의 시 사용되는 대괄호 [] 는 변수이름 뒤에 오지만, 데이터 타입 뒤에 와도 됩니다. 여러 개의 배열을 동시에 선언할 때 이런 방식을 사용하면 더 간단하게 쓸 수 있습니다. int[] nums, nums2, num.. 더보기
[Java 기초] #4. 클래스, 오브젝트, 메서드 클래스 클래스의 정의: 클래스는 오브젝트의 형식을 정의하는 템플릿입니다. 클래스는 데이터와 테이터에서 작동하는 코드를 모두 정의합니다.오브젝트는 클래스의 인스턴스입니다. (뒤에서 설명하겠지만, new 키워드로 클래스의 컨스트럭터를 호출하면 오브젝트가 생성됩니다) 클래스는 논리적 추상화입니다. 즉 클래스는 오브젝트로 구체화 되기 전까지는 실재하는 존재가 아니라고 할 수 있습니다. "자동차" 에 대한 클래스를 아래처럼 정의해 봅니다. class Vehicle { int passengers; // number of passengers int fuelcap; // fuel capacity in gallons int mpg; // fuel consumption in miles per gallon } 클래스의 정의.. 더보기
[Java 기초] #3. 프로그램 제어 이번에는 프로그램의 흐름 등을 제어하기 위한 자바의 명령어를 정리해 보겠습니다. ifif를 이용한 가장 단순한 형식은 다음과 같습니다. (else는 필수가 아닙니다.) if(컨디션) 명령;else 명령;중괄호를 이용해서 하나가 아닌 다양한 명령을 수행하게 합니다.if(condition) { statement sequence } else { statement sequence } 자바에는 elif 구문이 없습니다. 그냥 else if 를 이용하면 됩니다.if(condition) statement; else if(condition) statement; else if(condition) statement; . . . else statement; switchswitch는 case / break 구문을 이용합니다... 더보기
[Java 기초] #2. 자바의 데이터 타입(자료형)과 오퍼레이터(연산자) 자바의 데이터 타입 데이터 타입 (자료형) 은 문자, 정수, 소수 등 데이터(자료) 의 형식을 말합니다. 프로그래밍 언어중에서는 파이썬처럼 데이터 타입을 명시적으로 정의할 필요가 없는 언어도 있지만, C처럼 데이터 타입을 반드시 정의해야 하는 언어도 있습니다. 자바는 후자에 속하며, 이와 같은 언어를 "strongly typed language"라고 합니다. 자바는 크게 2가지 형태의 데이터 타입을 가지고 있는데, 객체지향타입과 비객체지향 타입입니다. 앞에서 간략히 언급했던 class 가 가장 대표적인 객체지향타입이라면, 비객체지향 타입은 자바의 8가지 기본타입 (primitive data type)으로 정의할 수 있습니다. 자바의 기본 타입 (Built-in Primitive Data Types)정수형.. 더보기
[Java 기초] #1. 자바 핵심사항과 환경설정 개인적으로 블록체인, 특히 R3의 Corda를 공부하다 보니 Java에 대한 지식이 필요하여 오라클에서 발매된 "Java a beginner's guide" 라는 책을 보고 있습니다. 프로그래밍 언어에 대한 책들을 그렇게 많이 본 건 아니지만, 이 책은 제가 지금까지 본 책들 중에서는 가장 잘 씌여진 게 아닌가 생각이 들 정도로 좋은 책이라는 생각이 듭니다. 프로그래밍에 대한 아무런 사전 지식이 없는 사람부터, 다른 언어(C나 파이썬 등) 에 대한 지식이 어느 정도 있는 사람까지 모두 이 책을 통해 자바에 대한 지식을 많이 얻을 수 있도록 잘 쓴 책 이라고 생각 합니다.그래서, 블로그에 이 책의 내용을 기반으로 자바의 기초 내용을 정리해 보려 합니다. 이미 온라인에 수많은 자바 관련 글들이 있으므로 본 .. 더보기
윈도우의 폴더(디렉토리)들을 각각의 zip 파일로 압축하기 오늘은 아주 간단한 윈도우 배치 파일을 공유합니다. (원출처 : http://stackoverflow.com/questions/20485419/batch-file-script-to-zip-files ) 여러 디렉토리를 하나의 압축 파일로 묶기는 아주 쉽습니다. 그냥 윈도우 탐색기에서 원하는 폴더들을 선택한 후, 압축파일로 보내기를 선택하면 되죠. 하지만 각각의 디렉토리별로 하나의 압축파일로 저장하려면, 일일이 선택해서 압축하는 노가다를 해야 합니다. 디렉토리가 한두개면 그냥 하겠지만, 몇십개나 몇백개라면 클릭 노가다 하기도 쉽지 않습니다. 그런 경우 사용할 수 있는 간단한 윈도우용 배치 스크립트입니다. 이 배치파일은 7zip을 사용하고 있으며 C:\Program Files\7-Zip 에 설치되어 있음을 .. 더보기
[Corda] CorDapp Template 간단한 테스트 R3cev의 Corda 플랫폼과 관련한 세 번째 포스팅입니다.이번에는 CorDapp Template 프로젝트 파일을 따라가면서 살펴볼까 하는데요,Corda Documentation https://docs.corda.net/tutorial-cordapp.html 에 해당하는 내용입니다. github 상의 Corda repository는 corda와 cordapp-template 2개가 있습니다. corda는 코어 플랫폼 + 샘플이 포함되어 있고, cordapp-template은 cordapp 개발을 쉽게 시작하기 위한 템플릿 소스코드가 포함되어 있다는 차이점이 있습니다. 먼저 CorDapp 의 정의를 간단히 설명하면, 코다 플랫폼에서 실행되는 프로그램이라고 할 수 있습니다. 코다 플랫폼이 노드(node, .. 더보기
[Corda] 환경세팅에서 데모구동까지 Corda를 이해하기 위해서는 기술백서와 Documentation을 읽어보는 것이 제일 좋은 방법이겠지만, 저 처럼 뭔가 컴퓨터에 직접 해 봐야 느낌이 오는 분들을 위해서 step-by-step 으로 간단한 데모 구동 환경을 구성해 보겠습니다. 코다의 기본 개념은 이전 포스팅 [2016/12/07 - [IT/블록체인 Blockchain] - [Corda] R3cev - 분산원장 플랫폼 Corda 공개] 을 참조해 주시고요, 아래 내용은 코다 Documentation [ https://docs.corda.net/getting-set-up.html ]에 있는 내용을 제가 직접 실행하면서 작성한 것입니다. 환경설정 (Environment Setup) 코다는 JVM기반으로 작동하기 때문에 이더리움처럼 OS에 대.. 더보기