본문 바로가기

JAVA

(34)
wrapper 1.WrapperClass 프로그램에 따라 기본타입의 데이터를 객체로 취급해야 하는 경우가 있다. 1) 메소드의 인수로 객체의 타입만이 요구될때 2)다형성을 적용하고 싶을때 3)object에 있는 메소드를 사용하고 싶을 때 위의 예와 같이 기본 타입의 데이터를 그대로 사용할 수 없기 때문에 객체로 변환한 후 작업을 수행해야 한다. 8개의 기본 타입에 해당하는 데이터를 객체로 포장해주는 클래스가 래퍼 클래스(Wrapper Class) Wrapper Class는 각각의 타입에 해당하는 데이터를 인수로 전달 받아서 해당 값을 가지는 객체로 만들어 준다. 2.Boxing : 기본 자료형 / String을 Wrapper 클래스로 바꾸는 법(그 중 AutoBoxing: 자동으로 처리됨) 3. UnBoxing : W..
api/string 메소드/ math메소드 1.api( application programming interface )란 운영체제나 C, C++, Pascal 등과 같은 언어로 응용 프로그램을 만들 때, 윈도우를 만들고 파일을 여는 것과 같은 처리를 할 수 있도록 1,000여 개 이상의 함수로 구성되어 있다. API는 프로그래머를 위한 운영체제나 프로그램의 인터페이스로서 사용자와 직접 대하게 되는 그래픽 사용자 인터페이스나 명령형 인터페이스와 뚜렷한 차이가 있다. API는 응용 프로그램이 운영체제나 데이터베이스 관리 시스템과 같은 시스템 프로그램과 통신할 때 사용되는 언어나 메시지 형식을 가지며, API는 프로그램 내에서 실행을 위해 특정 서브루틴에 연결을 제공하는 함수를 호출하는 것으로 구현된다. 그러므로 하나의 API는 함수의 호출에 의해 요..
generics 1. generics 다양한 타입의 객체들을 다루는 메소드나 컬렉션등에 들어가는 타입형을 지정해 주는것이다. 해당하는 타입만 들어 갈 수 있기 때문에 형변환에 의한 불필요한 코딩, 잘못된 형변환에 의한 런타임 오류등에서 벗어 날 수 있다. 2.선언방법 ㄱ)ArrayList경우 ArrayList arr = new ArrayList(); (자료형과 같은 타입의 값(객체포함)만 들어감. 만약 다른 자료형 add 하려고 하면 오류가 난다. generics가 없는 리스트와 비교해보자 String으로된 값이 들어간다. b에서 String으로된 값을 제외하고 넣은 후 forEach문으로 객체로 변환 후 출력해보자. 만약 a와 같은 방식으로 b를 출력하려고 하면 오류가 난다. a의 경우 Student객체배열에 넣을 수..
JAVAProperties 1. Properties란 어떠한 프로그램을 실행할 때 함께 읽어오는 설정들(언어설정, 옵션값, DB연결정보)을 저장하는 파일을 말한다. Properties는 key와 Value로 이루어진 Map의 형식을 가지고 있으나 key와 value 모두 문자열 형태로 저장하여 사용한다. Serializable을 상속받은 HashTable을 상속받았기 때문에(이미 직렬화 되어있다.) Stream으로 부터 입출력이 가능하여, 데이터를 파일로부터 쉽게 읽고, 쓰는 기능을 제공한다. 주석: 라인 제일 앞에 # 로 시작되는 줄. 문자셋: ISO 8859-1, 한글은 유니코드로 저장한다. 저장파일은 dat, txt, xml파일로 가능하며, 그중 xml파일은 앞의 두개와 명령어가 조금 다르며 기반스트림중 OutputStrea..
Map 1.Map이란 데이터(자료)를 저장할 때 각각의 자료들을 구분짓는 고유의 값(키)을 정하여 해당 값으로 접근하는 실제 객체를 구분지으려고 할 때 사용하는 자료구조 Collection은 상속받지 않지만, 비슷한 역할 수행. Map : (key)와 값(Value)를가짐 키 = Set과 유사(중복 x) 값 = List와 유사(중복O) 제네릭스를 통해 키와 값 각각의 자료형을 정할 수 있다. HashMap, TreeMap, Properties가 있다. 1)HashMap Map의 Key는 HashSet의 특징을 띄고있고 Hash라는 단어가 포함된 컬렉션 사용시 내부에 저장되는key는 equals와 HashCode가 오버라이딩 되어있어야 한다. (String, Wrapper Class는 equals와 hashCod..
Set 1.Set 저장 순서가 유지되지 않고, 중복 객체도 저장하지 못하게 하는 자료 구조 null도 중복을 허용하지 않기 때문에 1개의 null만 저장 구현 클래스로 HashSet, LinkedSet, TreeSet이 있다 1)Set의 특징 중복 불가.(객체의 경우, 객체 클래스에 String클래스에서 오버라이딩되어있는 equals()와 hashCode()를 통해 값과 주소를 비교하여 중복을 걸러낼 수 있다.) 2)주요 메소드 Set명.add(값/객체); : 주어진 값/ 객체를 맨끝에 추가 Set명.addAll(Collection객체;) : 주어진 Collection 객체를 Set에 추가 Set명.contains(값/객체) : 주어진 값/객체가 저장되어 있는지 여부 Set명.size() : Set의 크기를 리..
ArrayList 1. ArrayList : List를 상속받는 객체중 하나로, 자료를 넣을시, 넣은 순서를 유지하고, 중복을 허용하는 자료 구조다. 넣는 자료의 자료형은 일관되지 않아도 된다. 2.ArrayList의 장점 : Collection의 장점이기도 하다. 배열과 달리 추가, 삭제, 삽입, 수정이 자유로우며, 여러 종류의 자료형을 한번에 넣을 수있다. 1)선언 ArrayList List명 = new ArrayList(); // 제네릭스 선언시 ArrayList List명 = new ArryaList(); 다형성이 적용된다. List List명 = new ArrayList(); Collection List명 = new ArrayList(); 2)메소드 List명.add(값); : 마지막 인덱스번호 +1 인덱스에 값..
보조스트림 : Object 1. ObjectInputStream/ObjectOutputStream 객체를 파일 또는 네트워크로 입출력 할 수 있는 기능 제공 단, 객체는 문자가 아니므로 바이트 기반 스트림으로 데이터를 변경해주는 직렬화 필수 2.직렬화/역직렬화 1)직렬화 Serializable 인터페이스를 implements하여 구현 객체 직렬화 시 private 필드를 포함한 모든 필드를 바이트로 변환하지 만 transient키워드를 사용한 필드는 직렬화에서 제외 2)역직렬화 직렬화된 객체를 역직렬화할 때는 직렬화 했을 때와 같은 클래스 사용 단, 클래스 이름이 같더라도 클래스 내용이 변경된 경우 역직렬화 실패 3)serialVersionUID 필드 직렬화한 클래스와 같은 클래스임을 알려주는 식별자 역할로 컴파일 시 JVM이 자..