목록분류 전체보기 (75)
붓, 그리다
[ 프로세스와 쓰레드 ] p 1) 쓰레드는 프로세스와 연관지어 나온다.2) 프로세스 : 실행 중인 프로그램- Foregroud Process - Background Process 3) 쓰레드- 응용프로그램 내에서 실행되는 최소 실행 단위- 프로레스 자원을 이용해서 실제로 작업을 수행하는 것- 데이터를 공유해서 작업 => 동기화 작업과 연관 EX) 웹 브라우져- 특정 사이트에 접속하여 홈페이지를 보여주는 프로그램1) 먼저 접속을 시켜주는 쓰레드가 존재2) 홈페이지를 보여주는 쓰레드3) 동영상, 문자, 데이터 등을 보여주는 쓰레드=> 하나의 프로그램에는 여러개의 쓰레드가 존재할 수 있다. [ 싱글 쓰레드와 멀티 쓰레드 ]1) 싱글 쓰레드2) 멀티 쓰레드- 쓰레드가 여러개가 작동- CPU 사용률을 향상- 자원..
[ 입력을 받아 파일로 저장 ]1) 자료형 상관없이 문자열 저장 : FileOutputStream, FileWriter2) 자료형에 맞게 저장 : DataInputStream, DataOutputStream3) 객체를 저장, 불러오기 : ObjectInputStream(객체 불러오기), ObjectOutputStream(객체 저장)- writeObject(저장시킬 객체명), readerObject() -> 객체 직렬화(Spring)와 연결 [ 직렬화 ]- 메모리상의 저장된 객체(=ObjectOutputStream)를 파일로 저장 역직렬화 ObjectInputStream - 네트워크 전송도 가능 1. 객체 만들기 : 직렬화가 가능한 클래스- 객체를 직렬화할 때 올바르게 저장되는 객체를 만들 수 있는 클래스..
1) 사원정보 파일로 저장 package j0616;//사원정보를 파일로 저장// 자바의 자료형에 맞게 저장 : DataInputStream, DataOutputStreamimport java.io.*;public class Sawon { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub String mem_name=null; //이름 String mem_id=null; //사번 String mem_pwd=null; //암호 String mem_gender=null; //성별 String mem_age=null; //나이 String mem_phone=null; //전화번호 Buffered..
[ 스트림 ]- 소스와 타겟사이의 데이터 전송을 위한 가상을 통로- Source : 데이터를 전송해주는 쪽- Target : 데이터를 받는 쪽 특징)1) 쌍방향이 안됨, 단방향만 된다. -> 데이터 전송목적, 출력목적만으로 사용2) 다단계 결합이 있다. -> 스트림은 여러개 결합이 가능(생성자로 연결)3) 무한 대기가 존재한다. -> 입력받을 때까지 계속 대기하는 상태 - 데이터클래스 분류 : 전송해주는 데이터(문자, 이미지, 동영상,,)에 따라 분류 1. Byte 기반- 이미지, 동영상, 영문자 전달 가능- 입력스트림 : read(), close() 메서드를 사용- 출력스트림 : write(), clase()- FileInputStream : 외부에서 파일의 정보를 읽어오기- FileOutputStre..
[ 객체형 형변환 ] = 참조형 형변환 - 인터페이스, 배열, 클래스에 적용가능- 상속관계(부모-자식 클래스) 때문에 존재한다.- 기존 클래스의 재사용- 개발 시간을 단축=> 효율적인 운영가능=> 종속, 또는 비슷한 관계에 있는 객체형 내부에 공통적으로 사용한 메서드를 각각 만들지 않고하나의 메서드를 만들어 상속하여 for문 등의 조건을 선언하여 코드 수를 줄일 수 있다. 1) 자동 객체형변환- 데이터 크기가 큰 것에서 작은 것으로 자동 형변환이 가능- 자식클래스-> 부모클래스 2) 명시적인 객체형변환- 부모클래스에서 자식클래스로 변환할 때는 강제 형변환- 형변환할 클래스명을 앞에 ()로 명시한다. 3) 자동형변환 가능한지 확인하는 연산자 : instanceof if(객체명 instanceof 클래스명)..
1) AWT- 그래픽이 운영체제의 영향을 받는다. 2) Swing- 그래픽이 좀 더 화려하고 컴포넌트도 다양- 운영체제와 상관없이 독립적으로 그래픽을 지원 [ AWT를 Swing으로 전환시키는 방법 ] 1) import javax.swing.* 을 추가2) AWT컴포넌트 앞에 J자만 붙이면 Swing이 된다.ex) Frame -> JFrame, Button -> JButton, TextField -> JTextField예외) Choice -> JChoice (X) => JComboBox3) setLayout()와 setBackground() 앞에 getContentPane()을 부착4) 종료버튼setDefualtClosOperation(JFrame.EXIT_ON_CLOSE);
[ 화면에 배치시키는 방법 ]- 배치관리자를 이용 - 레이아웃 변경 메서드 대상자.setLayout(변경시킬 배치관리자명객체명) 1) BorderLayout- Frame의 기본 레이아웃- 컴포넌트를 left, right, top, bottom, center(5개의 위치)에 부착시키는 방법- 부착시키는 위치를 지정하지 않으면 무조건 맨 마지막 컴포넌트만 화면전체에 배치- East, West, North, South, Center로 위치 지정 package j0613; import java.awt.*; // 1) 그래픽에 대한 클래스 가져오기 public class BorderTest extends Frame{ // 2) 상속을 받아서 화면 디자인 //화면에 부착시킬 컴포넌트를 선언 //Panel p; //..
*nextLine() 과 next()1) nextLine() : "abc ddd " -> 한문장 단위로 입력받은, 한줄 통째로 입력받고 Enter도 입력받음2) next() : "abc ddd " -> 단어중심. abc만 입력받는다. *숫자/문자 입출력1) 숫자 : nextInt()2) 문자 : next()3) 무조건 문자, 숫자든 nextLine()으로 입력받은 뒤 숫자를 Integer.parseInt()으로 형변환 EX1) Scanner 클래스 객체를 얻어오는 메서드 : 일반, Setter, Getter 방법을 이용 package j0613; import java.util.Scanner; public class ScanTest { public static void main(String[] args) ..
자바에서의 화면처리창 생성 -> 화면 구성 -> 컴포넌트 부착 -> 처리 AWT, Swing(이벤트 처리하는 방법) -> 4가지 -> 9가지 공식 이해=> 객체형변환 [ class Frame ] 1) java.lang.Object2) java.awt.Component - 컴포넌트(Buttom, TextField,Menu) 정보, 위치, 배경색3) java.awt.Container - 다른 컴포넌트를 포함시킬수 있는 컴포넌트 정보- Frame(창), 대화상자4) java.awt.Window- 창5) java.awt.Frame- 창, 주로 자식창을 가지고 작업6) javax.swing.jFrame - setSize(int w, int h) : 창의 너비, 높이- setLocation(int x, int y)..
재귀호출- 잘못 사용하면 프로그램 실행 안됨 ( 무한 루프에 빠질 가능성이 있음)- 자기 자신이 메서드 내부에서 자기 자신을 호출하는 경우(메서드) * 재귀메서드 사용 시 주의사항 1) 반복해서 자기자신의 메서드를 호출하기 전에 빠져나갈 조건식을 먼저 처리 public static void showHi(int cnt) { System.out.println("Hi~"); if(cnt==1) return; showHi(cnt--); /*if(cnt==1) return;*/} 2) 자기 자신의 메서드를 호출할 때 증감연산자를 먼저 처리해야한다 public static void showHi(int cnt) {System.out.println("Hi~"); if(cnt==1) return; showHi(--cnt..