본문 바로가기

Java26

[Advanced JAVA] 데이터 I/O Java의 데이터 입출력 과정 'A'의 코드 값(유일)'가'의 코드 값(나라마다 다르다. 코드 값이 10이라고 가정하면, 일본에서의 코드 값 10은 일본어가 나온다. 이러한 것들을 인코딩이라고 한다) 문자 세트, 문자 인코딩의 종류 및 이름 ISO-8859_1 서유럽 EUC-KR(KSC5601) KSC 5601-1987 문자세트에 대한 표준 인코딩 ISO-2022-KR KSC-5601-1987 문자세트에 대한 표준 메일 인코딩 Unicode 유니코드 2.0 UTF8 표준 UTF-8 UTF(Unified Text Format) : 전세계 모든 언어를 표현할 수 있는 문자셋한글을 UTF8로 변환할 경우 한 글자에 3바이트 글자가 된다 Unicode L 유니코드 문자세트/16비트 인코딩공식 이름 : Unico.. 2014. 12. 27.
[Advanced JAVA] API를 활용한 객체 활용 및 데이터 처리 기법 Java Arrayarray에 대한 연산은 java.util.Arrays class사용new Type[size]와 같이 생성하고, 생성한 직후에는 null값으로 채워진다 Array를 만드는 방법String[] arr = new String[size];String[] arr2 = {"a","b","c"};String[] arr3 = new String[] {"a","b","c"}; Array ListList list = Arrayss.asList(arrayName); 인자에 ... 이 들어갈 경우, 인자 값이 1개일 수도 있고 다수일 수도 있다는 의미 public void setStrings(String... strings){int length = strings.length;for(int i = 0; i 2014. 12. 26.
[Advanced JAVA] Java Generic Java Generic다양한 타입을 사용하기 위함컴파일 시간에 타입을 보호하기 위함 (Object로 다양한 타입을 담을 경우 런타임 에러의 여지가 있다) Generic class 정의 및 사용public class MyClass{E data;T operator;public void setData(E data){this.data = data;}public void setOperator(T operator){this.operator = operator;}MyClass mData = new MyClass();mData.setData((Integer)10);mData.setOperator("add"); Generic Type의 제한특정한 타입만 사용하고 싶을 경우 아래와 같이 사용 가능하다public class.. 2014. 12. 26.
[Advanced JAVA] Jaca annotation and RTTI RTTI(Run-Time Type Information)자바 프로그램의 실행(런타임)중에 타입 정보를 알아낼 수 있으며 사용도 가능하다런타임 시 객체와 클래스의 정보를 알아내는 방법첫번째는 전통적 RTTI로 컴파일 시점에 사용 가능한 모든 타입을 클래스에 내포두번째는 리플렉션 매커니즘으로 런타임 시에 클래스의 정보만을 알고 사용할 수 있는 것OOP의 다형성은 전통적 RTTI로 자바 컴파일 시 상속구조를 파악하여 동작하는 원리 c의 프로그램 실행 과정a.c a.oa가 b를 참조 + link -> a.exe -> RAM으로 올리고, RAM에 올린 주소로 재배치한 뒤 파일 실행b.c b.o java의 프로그램 실행 과정Java는 linking이 없고, jar를 이용해서 jar파일을 생성. a,b를 묶어 jar.. 2014. 12. 25.
[Advanced JAVA] Exceptions Java의 Error 처리error 또는 exception 상황에 Throwable을 상속받은 객체를 throw 함으로써 에러 상황 전파C와 같이 return값을 통해 전파하지 않음Throwable은 recoverable exceptions 와 unrecoverable errors의 2개의 Subclass를 가짐Throwable은 Error와 RuntimeException을 제외하고 명시적으로 throws 하거나 try ~ catch 해주어야 한다 Exception프로그램이 만날 수 있는 대처가 가능한 error를 정의Exception이 발생하는 경우존재하지 않는 파일을 오픈하려고 할 때network연결에 문제가 생긴 경우연산을 수행하는데 있어, 범위를 벗어난 경우로드 해야 할 클래스파일을 로드하지 못한.. 2014. 12. 24.
[Advanced JAVA] Java Object interfaceclass 정의 시 "~면 외부에 알려준다"와 같은 경우 interface를 정의하여 사용 interface의 사용 예// interface 정의public interface CounterListener{public void onNotifyCount(int count);} public class Counter{private int Count = 0;CountListener mListener;// 리스너가 입력되면 세팅public void setCounterListener(CounterListener listener){mListener = listener;}public void increase(){mCount++;if(mCount % 10 == 0){// notify out sideif(m.. 2014. 12. 24.
[Advanced JAVA] Java keyword Modifierabstract내용은 없이 선언만 한다는 의미final선언한 값을 더이상 수정할 수 없음. 메소드에 사용할 경우 overide할 수 없는 상태가 됨. class에 사용하면 extends안됨native메소드 앞에만 가능. 이 메소드의 구현은 자바가 아닌 c로 되어있음static객체가 사용하는 필드가 아니라 class에서 사용하는 필드가 됨synchronized멀티 쓰레드 환경에서 동시 접근하는 것을 막음transient메모리에서만 값을 유지volatile멀티 쓰레드 환경에서 쓰임. 특정 상황에서 동시 접근할 때 값이 잘못되어 깨질 수 있는 문제를 해결. 캐쉬메모리를 통해 사용하지 않음strictfpjava의 floating 연산은 하드웨어를 이용해 계산하는데, 컴퓨터 환경마다 값이 다를 수 .. 2014. 12. 24.
[Advanced JAVA] Java 기본 구조 용어정리 클래스(Class) 실행 시 오브젝트에 관한 소스 코드 객체(Object) 클래스의 실체. instance라고도 한다. 속성(Attribute) 객체의 데이터. Data Field라고도 한다. Data member, instance variable이라고도 한다. 메서드(Method) 객체의 행위. algorithm, function, procedure라고도 한다. 패키지(Package) 클래스 또는 하위 패키지를 그룹화 한 것 Source File Layout [] [] Naming Conventions Classes 첫글자를 대문자로 작성. 그리고 명사 사용. Methods 기본적으로 동사 사용. 맨 첫단어는 소문자로 시작, 두 단어 이상의 연결일 경우 첫글자 대문자로 단어 구분. Variab.. 2014. 12. 12.