본문 바로가기

학원

(182)
0426 - 객체 직렬화, 네트워크 객체 직렬화(Object Serialization) 객체 직렬화 : 객체를 byte(원시데이터) 배열로 변환하여 입력 또는 출력 처리되기 위한 기능을 제공하는 것 ※ 우아한 형제 기술 블로그에서 말하는 자바에서의 직렬화 •자바 직렬화란 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 기술과 바이트로 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화)을 아울러서 말합니다. •시스템 적으로는 JVM(Java Virtual Machine)의 메모리에 상주(heap 또는 stack) 되어 있는 객체 데이터를 바이트 형태로 변환하는 기술과 직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 상주시키는 형태를 말합니다. ..
0425 - java.io 패키지, 입출력 스트림, 파일 입출력 java.io 패키지 : 입력과 출력 관련 클래스가 선언된 패키지 스트림(Stream) : 값을 전달하기 위한 목적으로 생성된 입력클래스와 출력클래스의 객체 -> 시냇물이 흐르는 모양을 모델링하여 만들어졌으며, 값이 한쪽 방향으로 전달되며 순차적으로 처리된다. 원시데이터 기반의 스트림(Byte Stream) : 가공되지 않은 원시데이터를 전달하기 위한 입출력스트림 - 값을 1Byte 단위로 입력 또는 출력하기 위한 스트림 - InputStream 클래스와 OutputStream 클래스를 최상위 클래스로 관계가 설정된 클래스 입력스트림 또는 출력스트림 관련 메소드 IOException 발생 - IOException은 일반 예외이므로 반드시 예외처리 해줘야 한다. 키보드로 원시데이터를 입력받아 모니터에 전달..
0424 - javax.swing 패키지 javax.swing 패키지의 클래스를 이용하여 GUI 프로그램을 작성하는 방법 (ATW와 다른점) 1. java.awt 패키지의 컴퍼넌트 또는 컨테이너 관련 클래스 대신 javax.swing 패키지의 컴퍼넌트와 컨테이너 관련 클래스를 사용하여 UI 구현 → AWT 컴퍼넌트(컨테이너) 관련 클래스 이름 앞에 J를 붙이면 SWING 컴퍼넌트와 동일 2.프레임의 [닫기]를 누른 경우 동작되는 기능을 기본적으로 제공 => JFrame.setDefaultCloseOperation(int operation) 메소드를 호출하여 프레임의 [닫기]를 누른 경우 동작 되는 기능을 변경 가능 - operation 매개변수에서는 WindowConstants 클래스의 상수 전달 → DO_NOTHING_ON_CLOSE : 아무..
0421 - 정규표현식, java.awt 패키지,이벤트 처리 프로그램 정규표현식(RegularExpression) : 메타문자(Meta Character), 회피문자(Escape Character)등을 사용하여 일정한 규칙의 문자열을 표현하는 방법 정규표현식은 사용자 입력값에 대한 검증을 할 때 많이 사용한다. 메타문자 ^문자 : 문자(열)로 시작됨을 의미 문자$ : 문자(열)로 종료됨을 의미 . : 임의의 문자 하나를 의미 (\ 문자는 표현 불가능) [문자1문자2문자3] : 나열된 문자 중 하나를 의미 [^문자1문자2문자3] : 나열된 문자를 제외한 문자 중 하나를 의미 [문자1-문자2] : [문자1]에서 [문자2] 범위의 문자 중 하나를 의미 문자열|문자열2|문자열3 : 나열된 문자열 중 하나를 의미 문자열+ : 문자열이 1번이상 반복됨을 의미 문자열* : 문자열이 0..
0420 - 제너릭, Collection 클래스, Set 인터페이스, List 인터페이스, Map 인터페이스 제너릭(Generic) : 필드의 자료형(참조형)이 추상적인 경우 자료형 대신 사용될 식별자 - 미지정 자료형 - Java 자료형(참조형) 선언시 기호에 제너릭 타입(식별자) 선언 (식별자는 자유롭게 선언하면 된다.) - 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미한다. 형식) public class 클래스명 → 안에 제네릭 타입은 , 기호를 사용하여 나열 선언 가능 - 제너릭으로 전달받을 수 있는 Java 자료형을 상속 기능을 사용하여 제한하는것도 가능하다. 형식) public class 클래스명 { } → 제네릭은 반드시 부모클래스를 상속받은 Java 자료형만 전달받아 사용이 가능 //제너릭으로 전달받을 수 있는 Java ..
0419 - java.util 패키지 (Random, UUID, Date 클래스) / java.text 패키지 (SimpleDateFormat, DecimalFormat 클래스) java.util 패키지 : 프로그램 작성에 유용한 기능을 제공하는 클래스(or 인터페이스)가 선언된 패키지 -Scanner 클래스 : 입력장치로부터 값을 입력받기 위한 기능을 메소드로 제공하기 위한 클래스 -Arrays 클래스 : 배열의 요소를 처리하기 위한 기능을 메소드로 제공하기 위한 클래스 -Random 클래스 : 난수값 관련 기능을 메소드로 제공하기 위한 클래스 Random.nextInt(int bound) : 0 ~ bound-1 범위의 정수 난수값을 반환하는 메소드 import java.util.Random; public class RandomApp { public static void main(String[] args) { Random random = new Random(); //객체생성 ..
0417 - StringBuffer 클래스,Wrapper 클래스, Integer 클래스 / 스레드, 다중스레드, 스레드 동기화 StringBuffer 클래스 • StringBuffer 클래스 : 문자열을 저장하기 위한 클래스 • String 클래스와의 차이점 : StringBuffer 클래스는 StringBuffer 객체에 저장된 문자열들을 직접 조작하기 위한 관련 메소드를 제공하고, String 객체는 저장된 문자열을 조작하기 위한 메소드를 제공하지 않고 조작결과를 반환하는 메소드를 제공한다. → String 클래스보다 StringBuffer 클래스의 메소드가 문자열 처리 속도가 우수 문자열을 조작할 땐 StringBuffer가 가독성이 훨씬 좋다. (데이터 처리 할 때 등) 처리 끝난 후, 출력할 때 toString메소드 이용해 String으로 바꿔서 쓴다. StirngBuffer 클래스는 new 연산자로 생성자를 호출하여 ..
0414 - 예외전달, Java API, System클래스, String클래스 예외전달 : 예외가 발생된 명령의 메소드에서 발생된 예외를 직접 처리하지 않고, 발생된 예외를 '메소드를 호출한 명령' 으로 전달하는 것 형식) 접근제한자 반환형 메소드명(자료형 매개변수,...) throws 예외클래스. 예외클래스,...{ } → 예외가 전달되는 메소드를 호출한 명령에서 예외 처리 package xyz.itwill.exception; public class ExceptionThrowsApp { //정적 메소드 >> 객체 생성하지 않고 클래스로 호출 public static void display() throws ArrayIndexOutOfBoundsException { //예외전달 int[] array = {10,20,30,40,50}; for(int i=0;i 문제: 입력값이 정수값으..