JAVA/in 기초
-
가변 인수(Varargs)JAVA/in 기초 2014. 2. 23. 23:56
자바 5.0에서 소개되는 기법 중에서 가변인수(varargs)라는 것이 있다.가변인수라는 것은 필요에 따라 매개변수(인수)를 가변적으로 조정할 수 있는 기술이다.가변인수가 없던 시절에는 가변인수 대신 컬렉션이나 배열을 이용해서 가변인수를 대체 하고 있었다. public class VarArgMain { public static void display(String... strs){ for(String s : strs){ System.out.println("가변인수형태: "+s); } } } 사용법 VarArgMain.display("A","b", "C", "D");
-
Java에서의 상수와 enum(열거형) 사용 예제 및 설명JAVA/in 기초 2014. 2. 23. 23:41
기본적으로 자바에서 상수를 만드느 방법은 final 키워드를 이용하거나 인터페이스를 이용 하는 방법이 있다. * 상수의 의미는 단 한번 초기화를 거칠 수 있으며 절대 변경이 불가능 한 것을 이야기한다. 클래스에서 상수 선언 - final 키워드를 이용하여 상수로 선언한다. - 선언할때 단 한번 초기화를 한다. - static final로 선언하면 전역적인 상수가 된다. * 보통의 경우 static final로 선언하여 전역적인 상수를 만들어 사용한다. 클래스를 이용한 상수 선언 public class Constants4Class { private Constants4Class(){}; public static final double PI = 3.14; } 인터페이스를 이용한 상수 선언 - 인터페이스 맴버 ..
-
Formatting 기능JAVA/in 기초 2014. 2. 21. 01:13
JDK 5.0 이전에서는 Formatting 클래스를 이용해서포멧된 문자열을 만들 었지만, 자바 5.0부터는 String.format() 메소드를 이용해서 포멧된 문자열을 만들수 있다. String s1 = String.format("%s %d %f %o %h", "Hello", 100, 3.14F, 100, 100); 결과값 : Hello 100 3.140000 144 64%s : 문자열%d : 숫자%f : 실수 %o : 8진수%h : 16진수 String s2 = String.format("%,d", 1000000000); String s3 = String.format("%.3f", 31.23433200); String s4 = String.format("%,.2f", 123456.67890000);..
-
예외처리(Exception)JAVA/in 기초 2014. 2. 21. 01:03
Exception 이란?실행 타임에 발생하는 에러 이벤트를 이야기 한다. try와 catch 구문은?실행 타임에 발생하는 에러 이벤트를 감지하기 위한 도구 try{ //에러 감지 블럭 }catch(Exception e){ // 에러 처리 블럭 }finally{ //최정적으로 무조건적으로 처리해야 하는 작업 } Exception은 사용자가 임의로 발생 시킬수 있다.또한 특정 메소드에서 에러처리를 자신을 호출한 메소드에게 전달 할수 있다. public void throwMethod() throws Exception{ throw new Exception("메시지"); } 의무적으로 에러처리 루틴이 필요 한 곳 - 네트워크 입출력 - 데이터베이스 입출력 - 파일 입출력 - 메모리 입출력
-
컬랙션(Collection)과 맵(Map) 계열JAVA/in 기초 2014. 2. 21. 00:53
컬랙션(Collection)과 맵(Map) 계열은 배열의 발전된 모델이라 볼 수 있다. 배열과 컬렉션이나 맵계열의 차이는, 배열은 크기를 동적으로 늘릴 수 없지만, 컬렉션이나 맵 계열 클래스는 동적으로 메모리를 확장 할 수 있다. 일반적으로 Collection은 집합적 데이터 관리를 위해서 사용 하며, Map은 검색적인 저장 공간을 지원 하기 위해서 사용 한다. List 인터페이스 - 순서가 있는 Collection 이다. - 데이터를 중복해서 포함 할 수 있다. Set 인터페이스 - 집합적인 개념의 Collection이며 순사의 의미가 없다. - 데이터를 중복해서 포함 할 수 없다. 동기화란? 하나의 객체에 여러 쓰레드들이 접근을 할때 한번에 하나씩만 접근이 가능 하도록 LOCK을 거는 행위를 말한다...
-
PolymorphismJAVA/in 기초 2014. 2. 3. 00:02
다형성이란 하나로 여러가지 일을 하는 것을 이야기 한다. 상속과 관련된 다형성의 기법들 - 인터페이스(interface) - 오버라이딩(Overriding) - 추상 클래스(Abstract Class) - 추상 메소드(Abstract Method) - 다운캐스팅(Downcasting) - 업케스팅(Upcasting)*예를 들자면, 객체지향을 이야기 한다. 객체(Object)는 모든 형태로 변환(캐스팅)이 가능 하다 Abstract Class & Abstract Method 추상 메소드 - 메소드 몸체가 없는 메서드를 추상 메서드라고 한다. - 메소드 선언부에 abstract 키워드를 사용해야 한다. //일반 메소드 public void sayHello(){} //추상 메소드 public abstract ..
-
Overloading, Constructor, Inheritance, Overriding, this, superJAVA/in 기초 2014. 2. 2. 20:57
Overloading오버로딩이란 하나의 메소드 이름에 여러 개의 메소드를 만들 수 있게 해주는 기법이다. 오버로딩의 정의 - 하나의 이름으로 여러개의 메서드를 만드는 기법 오버로딩 메소드를 만드는 규칙 - 반드시 매개변수의 개수나 매개변수의 형이 달라야 한다. 오버로딩을 사용하는 이유 - 해당 클래스의 메서드를 사용할 때 사용자의 편리를 위해서 - 매서드의 이름 하나로 여러 가지 작업에 대처할 수 있다. * 오버로딩은 컴파일러가 발전하면서 등장한 기술이다. 컴파일러 차원에서 메서드의 이름을 자동으로 바꾸어 주기 때문에 사용자가 펴리하게 이것을 사용하는 것이다. //원본 소스 int plus(int a, int b); float plus(float a, float b); double plus(double ..
-
Java in MemoryJAVA/in 기초 2014. 1. 19. 22:42
1. JVM Memory 메소드 영역 - 메소드의 바이트코드 - 클래스 변수 힙(heap) 영역 - 객체 스택(stack) 영역- 매개변수- 지역변수 PC 레지스터 Native 메소드 스택 데이터 영역 구분 메소드 영역 : 모든 스레드가 공유하는 영역으로 JVM이 시작될 때 생성된다. JVM이 읽어 들인 각각의 클래스와 인터페이스에 대한 런타임 상수 풀, 필드와 메소드 정보, Static변수 메소드의 바이트 코드 등을 보관한다.힙(Heap) 영역 : 인스턴스 또는 객체를 저장하는 공간으로 가비지 컬렉션 대상이다. GC로 관리되는 영역이다.스택(Stack) 영역 : 스택은 각 스레드마다 하나씩 존재하며 스레드가 시작될 때 생성된다. 스택프레임(Stack Frame)라는 구조체를 저장하는 스텍으로 JVM은 ..