목록JAVA/Basic (37)
붓, 그리다
[ 컬렉션 ]- 데이터를 저장, 즉 겍체만 저장 가능하다- 기본 자료형은 객체가 아니기 때문에 저장할 수 없음 [ Wrapper Class ]기본자료형의 값을 객체형태로 만들어서 제공되는 클래스-> 컬렉션에 기본자료형을 집어넣기 위해 만들어진 클래스- 기본자료형의 첫글자만 대문자로 쓰면 Wrapper Class가 된다 기본자료형byteshortintlongfloatdoublecharbooleanWrapper ClaseeByteShortIntger.parseInt(~)LongFloatDoubleCharacter.isDigit(),Character.toUpperCase()Boolea - String은 Wrapper Class가 아니다 1) unboxing- 자바의 객체형(Wrapper)이 기본자료형으로 변환..
쓰레드에서 주로 사용하는 것1) 동기화2) Singleton 패턴 [ 쓰레드 동기화 ]- 두 쓰레드가 하나의 데이터에 작업을 할 때 한 쓰레드가 진행 중인 작업을 다른 쓰레드가 간섭하지 못하도록 막는 것 RandomAccessFile) RandomAccessFile raf=null; // 현재폴더 기준 임의의 파일을 생성 RandomAccessFile 생성자) RandomAccessFile(File file, String mode) - 경로포함해서 생성할 파일명- 모드: 읽기(r)/읽고 쓰기(rw) 1) 메서드 전체를 임계 영역으로 지정- 메서드 앞에 synchronized 키워드를 입력 public synchronized void run(){} EX) package j0619;// 동기화import j..
[ 상속 ]- 기존의 클래스(부모 클래스)를 재상용하여 새로운 클래스(자식 클래스)를 작성하는 것- 자식클래스는 부모클래스로부터 멤버변수, 메서를 물려받음- 기존의 클래스=부모클래스=수퍼클래스- 새로운 클래스=자식클래스=서브클래스 1) 상속의 장점 및 특징- 기본의 부모클래스의 멤버변수, 메서드를 그대로 사용 가능 (재사용성)- 코딩양이 줄어들고 개발 시간이 단축- 생성자와 초기화 블록은 상속되지 않는다.- 멤버변수와 메소드만 상속된다. 단, private로 선언된 멤버변수과 메소드는 상속 불가(캡슐화된)- 자식 클래스의 멤버 개수는 부모 클래스보다 항상 같거나 많다. (상속 누적)-> 멤버변수와 메소드가 많아지기에 기능이 많아진다.- 다중상속 불가(동시에 한개이상의 부모로부터 상속금지) 2) 형식 cl..
[ 프로세스와 쓰레드 ] 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; //..