Java 40

자바 프로그래밍 (Java) - 10 : 문자 리터럴 상수 (ecape sequence)

- 문자 리터럴의 표기 방법 ( escape sequence ) 다음은 문자 리터럴의 표기 방법을 정리한 표이다. Escape Sequence 의미 \b 백스페이스 \t 수평 탭 \n 줄 바꿈 문자 \f 새 페이지 문자 \r 리턴 문자 \” 큰 따옴표 \’ 작은 따옴표 \\ 백 슬래쉬 \8진수 8진수에 해당하는 Unicode 문자 다음은 문자 리터럴 중 \n과 \”를 사용한 예제이다. \n를 통해서 새로운 행으로 개행되었고, \”로 큰 따옴표를 출력하였다. public class SmartExample { public static void main(String[] args) { System.out.println("Hello, \n Nice to meet you"); // Hello, // Nice to ..

Java 2016.07.12

자바 프로그래밍 (Java) - 9 : 리터럴 상수 (Literal)

- 리터럴 리터럴이란 데이터 값 그대로인 상수를 말한다. 리터럴에도 데이터 타입이 있다. 다음은 리터럴의 규칙 중 일부이다. 1) 정수 리터럴은 기본적으로 int 타입이다. 2) 소수 리터럴은 기본적으로 double 타입이다. 3) 작은 따옴표(‘ ‘)로 묶은 하나의 문자는 char 타입이다. 4) 큰 따옴표(“ “)로 묶은 문자열은 String 타입이다. 5) 0으로 시작하는 정수 리터럴은 8진수로 취급된다. 6) 0x 또는 0X로 시작하는 정수 리터럴은 16진수로 취급된다. 7) 대문자 L, 소문자 l을 붙인 정수 리터럴은 long 타입으로 취급된다. 8) 소수 리터럴의 예 : 12.과 같이 쓴 리터럴은 12.0과, .025는 0.025와 동일하다. 9) 소수 리터럴의 예2 : 12e100 => 12..

Java 2016.07.12

자바 프로그래밍 (Java) - 8 : 자바 데이터 타입 분류 체계, Promotion

- 자바 데이터 타입의 분류 체계 자바 데이터 타입은 다음과 같이 프리미티브 타입과 레퍼런스 타입으로 분류된다. 프리미티브 타입은 값으로 저장되고, 레퍼런스 타입은 객체로 값이 저장되는 것에 차이가 있다. 또한, Java Virtual Machine 자체는 32bit 머신이기 때문에, 아키텍쳐와 관계 없이 항상 같은 크기를 갖게 된다. Java에는 Semi boolean을 지원하지 않기 때문에, 수치 타입과 불리언 타입은 서로 형 변환할 수 없다. 업 캐스팅은 가능하지만, 다운 캐스팅은 에러를 발생 시킨다. 따라서 명시적 형변환을 통해서 형 변환을 할 수 있지만, 데이터 유실이 발생한다. - promotion numeric data의 연산은 최소 int 자료형이 필요하다. 따라서 내부적으로 묵시적 형 변..

Java 2016.07.12

자바 프로그래밍 (Java) - 7 : 자바 기초 문법 (메인 메서드의 파라미터, 예외 처리)

- 메인 메서드의 파라미터 메인 메서드의 파라미터 변수는 클래스 이름 뒤에 오는 명령행 파라미터들로, 배열에 담겨져서 메인 메서드에 전달된다. 다음은 명령행 파라미터를 담은 배열인 args의 내용을 출력하는 예제이다. class ParamExample1 { public static void main(String args[]) { for (String str : args) System.out.println(str); System.out.println("args.length=" + args.length); } } - 예외 처리 예외란 프로그램 런타임 시 발생 에러 중에 핸들링 가능한 것들을 말한다. 컴파일 타임 에러는 프로그램 컴파일 타임에 발생하는 오류로 컴파일 타임 에러와 런타임 에러는 별개의 문제이다...

Java 2016.07.12

자바 프로그래밍 (Java) - 6 : 자바 기초 문법 (이차원 배열과 향상된 for문)

- 2차원 배열 1) 배열과 .length 2차원 배열은 기본적으로 2차원 행렬을 표현하는 데 사용된다. 2차원 배열은 단순한 테이블 구조가 아닌, 일차원 배열을 가리키는 레퍼런스를 배열화한 것이다. 이차원 배열은 한 배열을 가리키는 reference를 다시 배열로 묶어주는 형식으로 구현된다. 2) 2차원 배열과 향상된 for문 향상된 for문을 통해서 다음과 같이 이차원 배열 값을 접근할 수 있다. public class Hello { public static void main(String args[]){ int [][] arr = {{1,2,3}, {4,5,6}, {7,8,9}}; for(int[] tmp : arr){ for(int num : tmp){ System.out.print(num + " ..

Java 2016.07.12

자바 프로그래밍 (Java) - 5 : 자바 기초 문법 (final 변수, 배열)

- final 변수 변수에 값을 딱 한번만 대입할 수 있는 변수이다. final 변수는 c의 costant와 다르게, 선언과 동시에 초기화 할 필요가 없다. 다음은 final 변수의 잘못된 사용 예이다. class FinalExample2 { public static void main(String args[]) { final double pi;// final 변수 선언 double radius = 2.0; pi = 3.14; // final 변수 값 할당. 선언과 분리되어 있다. double circum = 2 * pi * radius; System.out.println(circum); pi = 3.14159; // 이미 값이 있는 변수에 값 재 할당 => 에러 발생 double area = pi * r..

Java 2016.07.12

자바 프로그래밍 (Java) - 4 : 자바 기초 문법 (변수 사용 시 주의 사항, 식별자 명명 규칙)

- 변수 사용 시 주의 사항 Java에서 변수를 사용할 때, 값을 할당하지 않으면 컴파일 에러가 발생한다. class DecExample2 { public static void main(String args[]) { int num; System.out.println(num);//아무 값도 넣지 않고 사용 => 에러 발생 } } - 식별자 명명 규칙 1) 하나 이상의 글자로 이루어져야 한다. 2) 첫 번째 글자는 문자이거나, $, _여야 한다. 3) 두 번째 글자 이후는 숫자, 문자, $, _여야 한다. 4) 대소문자를 구별하며, 키워드는 사용 불가하다. 5) 길이의 제한은 없다. 6) 상수 값을 표현하는 단어 true, false, null은 식별자로 사용할 수 없다

Java 2016.07.12

자바 프로그래밍 (Java) - 3 : JDK, JRE의 차이

- JDK, JRE 1) JDK JDK (Java Development Kit)는 자바 개발자들을 위한 도구들의 모음이다. Java Platform, Standard Edition, Enterprise Edition 등이 있다. JDK는 JVM과 Java 어플리케이션의 개발을 위한 다른 리소스들을 포함한다. 2) JRE JRE (Java Runtime Environment)는 독립적인 자바 Virtual Machine, 브라우저 플러그인, 자바 표준 라이브러리와 configuration tool을 포함한다. JRE는 JDK와는 다르게 Java로 작성된 Application이 실행되는데에 필요한 것들로만 구성이 되어있어 성격이 다르다. 따라서 Java 개발자가 아닌 이상, 굳이 JDK를 설치할 필요 없이 ..

Java 2016.07.12

자바 프로그래밍 (Java) - 2 : 객체 지향의 특징

1. 추상화 컴퓨터 과학에서 추상화는 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것을 말한다. 2. 캡슐화 캡슐화는 정보 은닉화(Information Hiding)와 큰 관련이 있다. 정보 은닉화는 컴퓨터 프로그램의 디자인 결정에 있어서 중요한 원칙이다. 만약 디자인 결정이 변형되면 외부 변경이 일어나는데, 나머지 프로그램을 안정적인 interface를 제공함으로써 보호한다. 다시 말해, 다른 구성 요소의 영향을 주지 않고도 내부 메커니즘을 향상 시킬 수 있다는 것이다. 또 다른 캡슐화의 장점은 시스템 복잡도를 줄일 수 있고, 소프트웨어 요소 사이의 상호 의존성을 제한하여 robustness를 증가 시킬 수 있다. 3. 상속 상속은 한 클래스가 다른 클래스의 기초가 되..

Java 2016.07.12

자바 프로그래밍 (Java) - 1 : 자바의 개념 및 특징

- 정의 및 특징 자바는 클래스 기반의 객체 지향 프로그래밍 언어이다. 가능한 독립적으로 사용될 수 있도록 디자인되어있다. Java는 재컴파일 할 필요가 없이 자바를 지원하는 모든 플랫폼에서 실행할 수 있다는 “Write once, run anywhere”라는 정신을 구현하기 위해 만들어졌다. 현재 자바는 가장 유명한 프로그래밍 언어이며, 약 900만명의 개발자가 사용하고 있다. - 자바의 중요한 특징 (플랫폼 독립적, 객체 지향적) 1) 플랫폼 독립성 자바 어플리케이션은 일반적으로 컴퓨터 구조와 관계 없이 JVM에서 실행할 수 있는 바이트 코드로 컴파일된다. 자바가 플랫폼 독립적인 이유는 바로 이 이유이다. 즉, 자바는 architecture-specific machine code가 아닌 java by..

Java 2016.07.12