JAVA/in 기초
-
스레드 기본(1)JAVA/in 기초 2014. 3. 5. 00:08
프로세스와 스레드의 개념 프로세스(Process)하나의 프로그램은 하나의 프로세스에 해당한다. 멀티태스킹(Multi-Taking)프로세스의 경우 운영체제에서 자동으로 관리 해주다.운영체제 차원의 프로세스 관리를 멀티 태스킹이라고 한다. 프로세스와 스레드(Thread)하나의 프로세스 내에는 여러 개의 스레드가 존재 할 수 있다. 스레드란?하나의 프로그램 내에서 실행되는 메소드같은 순간에 두 개의 매소드가 동시에 실행되면서 두 개의 스레드가 동작 하는 것이다. 스레드 프로그램을 할 때 주의해야 할 사항우선권(Priority) : 동시에 두개이상의 메소드가 실행되기 때문에 어느 메소드에게 작업할 권한을 많이 줄 것인지에 대해서 결정 하는 것.동기화(Synchronization) : 하나의 자원을 상대로 순서대..
-
가변 인수(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 ..