목록전체 글 (65)
혜야의 코딩스토리
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.ImageIcon; import javax.swing.JFrame; public class CoinEat extends JFrame implements KeyListener{ private Image bufferImage; private Graphics screenGraphics; private Image backgroundIm..
[쓰레드] 프로세스 == 자원+쓰레드 1개의 프로세스에 1개 이상의 쓰레드 필요 프로세스 : 쓰레드 = 공장 : 일꾼 -새로운 쓰레드를 생성하는 것이 새로운 프로세스 생성보다 비용대비 효율저 -장점: 효율적인 자원, 응답성 향상 -단점: 동기화 주의, 교착상태 발생위험(서로 대치), 기아 가능성O *잘 동작하는 에러가 없는 코드가 좋은 코드다!!!! [쓰레드의 구현과 실행] 1. Thread클래스를 상속 class MyThread extends Thread { public void run( ) { //Thread클래스의 run( )을 오버라이딩 /* 작업내용 */ } -> MyThread t1 = new MyThread( ); //쓰레드의 생성 t1.start( ); //쓰레드의 실행 2 .Runnabl..
[지네릭스란?] (제네릭,제너릭) -컴파일 시 타입을 체크(강화)해주는 기능(compile-time type check) -객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여 준다. [지네릭스의 장점] 1.타입 안정성을 제공한다. 2.타입체크와 형변환을 생략할 수 있으므로 코드가 간결해 진다. Runtime에러보다 Compile에러가 낫다. Runtime에러는 프로그램이 죽어버리지만 Compile에러는 수정이 가능하니까!!!! → 프로그래머가 실수할 수 있는 에러 중에서 어떤 것들을 컴파일 에러로 끌어올 수 있는가?? ☆ 컴파일러에게 타입정보를 더 주고 컴파일 에러로 끌어오는 것이 지네릭스!! [타입 변수] -지네릭스 클래스를 작성할 때, Object타입 대신 타입 변수(E)를 선언해서 사용. [타입 ..
※ Collections는 유틸 클래스(Math클래스처럼 메서드 제공하는 클래스) [컬렉션 collection] - 컬렉션(collection) : 여러 객체(데이터)를 모아 놓은 것 (인터페이스) - 프레임웍(framework) : 표준화, 정형화된 체계적인 프로그래밍방식, 생산성을 올려 줌 등장 배경을 이해하면 프레임웍을 사용하는 이유를 저절로 알게 됨 ex) collection framework, django framework, spring framework - 라이브러리 : 정보, 책, 오디오 라이브러리 등 → 기능만 제공 - 컬렉션 프레임웍 : 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식, java.util패키지에 포함, jdk1.2부터 제공 [collection 인터페이스] -..
Ch9. java.rang패키지와 유용한 클래스 [object클래스와 그 메서드인 equals( )] -Objcet 클래스 : 모든 클래스의 최고 조상, 오직 11개의 메서드만 가짐 -finalize( ) : 객체가 소멸될 때 가비지 커렉터에 의해 자동 호출(거의 사용X) -getClass : 객체 자신의 클래스 정보(설계도 객체)를 담고 있는 Class인스턴스를 반환함 -equals( ) : 객체 자신과 주어진 객체의 참조변수 값(주소 값) 비교 → 서로 다른 두 객체는 항상 주소 값이 다름 -equals( )오버라이딩 : 두 객체의 인스턴스 변수의 값을 비교하기 위해서는 오버라이딩 해줘야한다. → 오버라이딩 할 떄 instanceof로 참조변수의 형변환 여부를 반드시 확인해야한다. [hashCode(..
import java.applet.AudioClip; import java.awt.Color; import java.awt.Component; import java.awt.FlowLayout; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.J..
import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import..
[프로그램 오류] 1. 컴파일 에러 : 컴파일할 때 발생하는 에러(실행 자체가 불가) 2. 런타임 에러 : 실행할 때 발생하는 에러(프로그램 종료) 3. 논리적 에러 : 작성 의도와 다르게 동작(프로그램 종료X) [Java의 런타임 에러] *에러는 어쩔 수 없지만, 예외는 처리하자! -에러(error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 -> 우리가 처리할 수 없음(ex. OOEM 메모리부족) -예외(exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 -> 우리가 코드를 작성하여 처리할 수 있음. [예외처리의 정의와 목적] -정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 -목적 : 프로그램의 비정상 종료를 막고, 정상적..
import java.util.Calendar; import java.util.Scanner; public class JuminEx { public static void main(String[] args) { String jumin = "", gender="", weather=""; Calendar cal = Calendar.getInstance(); Scanner scan = new Scanner(System.in); System.out.println("주민등록번호를 입력하세요 ((-)를 포함해서 입력) > "); jumin = scan.next(); scan.close(); int age = Integer.parseInt(jumin.substring(0,2)); //index 0,1 char s = ..