목록Study/JAVA (8)
Fairy ' s
Thread // 참고 Thread 스레드란 프로세스 내에서 실행되는 흐름의 단위이고, main() 안의 실행문들이 하나의 스레드이다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. main() 이외의 스레드를 만드는 방법 : Thread 클래스 상속 , Runnable 인터페이스 구현 Thread 클래스 상속 // import 생략 // DownloadThread 상속 import test.thread.DownloadThread; public class Frame01 extends JFrame implements ActionListener { public Frame01() { setTitle("Frame01"); setBounds(10..
// 참고 입출력 스트림 컴퓨터의 키보드, 파일, 네트워크 등으로 입력된 것이 컴퓨터의 메모리에 저장되면 콘솔, 파일, 네트워크 등을 통해 출력된다. 데이터들은 2진수로 이루어진 바이트로 전달되고, 이러한 입출력을 자바에서 실행시키기 위해 Stream이 사용된다. Stream 종류 InputStream / OutputStream - 바이트 단위 입출력, 최상위 입출력 클래스 InputStreamReader / OutputStreamWriter - 문자 단위 입출력, 하위 스트림 클래스 BufferedReader / BufferedWriter - 바이트 단위 입출력, 하위 스트림 클래스 FileInputStream / FileOutputStream - 바이트 단위 입출력, 스트림 클래스 FileReader..
// 참고 예외처리 Exception 코딩을 하며 에러가 나면 적절한 처리를 하고 싶을 때 자바가 제공해주는 문법 (try, catch, throw 등) Scanner scan=new Scanner(System.in); System.out.print("숫자 입력:"); //숫자 형식의 문자열을 입력 받는다. "10" "20" "10.1" 등등 String inputNum=scan.nextLine(); double num=Double.parseDouble(inputNum); //변환한 숫자에 100 을 더하고 double result = num+100; //더한 결과 값을 출력한다. System.out.println("입력한 숫자 + 100 :"+result); 숫자를 문자열로 입력받아 숫자로 변환하고 변..
// 참고 Wrapper Class 데이터를 객체로 취급 해야할 때 기본 타입 데이터들을 객체로 포장해주는 클래스 각각의 타입에 해당하는 데이터를 인수로 전달 받아 해당 값을 가지는 객체로 만들어준다. 래퍼 클래스 종류 (참조 데이터 타입) Byte, Short, Integer, Long, Float, Double, Character, Boolean 기본 데이터 타입은 스택영역에 추가된다. 참조 데이터 타입은 힙 영역에 참조값을 가진 메모리가 만들어지고 스택 영역에서 참조 값을 가진다. int num1=10; /* * num2에는 참조값이 들어있지만(메소드를 사용할 수 있다) * 10이라는 기본데이터 type이 들어있다고 생각해도된다. */ Integer num2=10; int result = num2 ..
// 참고 Generic Class 데이터의 형식에 의존하지 않고 여러 데이터 타입을 가질 수 있도록 만든 클래스 public class FruitBox { //필드 private T item; //메소드 public void push(T item) { this.item = item; } //과일을 빼내는 메소드 public T pull() { return item; } } FruitBox에 를 만들어주고 T에 따라 여러가지 타입을 제어할 수 있게 만들어준다. FruitBox box1 = new FruitBox(); box1.push(new Apple()); FruitBox box2 = new FruitBox(); box2.push(new Orange()); //Generic 클래스로 지정한 type 객..
// 참고 ArrayList ArrayList는 List 인터페이스를 상속받은 여러 클래스들 중 하나이다. 여러 데이터를 순서대로 관리할 때 사용 일반 배열과 다른 점은 크기가 가변적으로 변한다는 것이다. 일반 배열은 선언할 때 int[] nums = new int[5]; 이런 식으로 선언하기 때문에 크기를 바꿀 수 없다. ArrayList 사용 / 메서드 종류 // String 타입의 ArrayList 생성하여 names 라는 지역 변수에 담음 List names = new ArrayList(); // ArrayList에 인덱스 값 추가, 인덱스 추가는 add를 사용 names.add("AAA"); names.add("BBB"); names.add("CCC"); // ArrayList의 배열 크기는 s..
// 참고 HashMap key : value 형태로 데이터를 저장하기 위해 사용된다. // new HashMap(); key 값은 중복이 불가능하지만, value 값은 중복 가능하다. key의 타입을 String을 가장 많이 사용한다. value의 타입을 여러타입을 사용할 때에는 value 부분에 Object를 사용한다. // value에 직접 타입을 지정할 때 Map map1 = new HashMap(); Map map2 = new HashMap(); // value에 타입을 지정하지 않고 Object로 지정할 때 Map map3 = new HashMap(); String name = (String) map3.get("name"); int num = (int)map3.get("num"); value에..
예제에 대한 설명은 기존 코드를 작성해주신 선생님께서 대부분 주석으로 표기해 두었지만, 개인적으로 모르는 부분들을 따로 정리해두었습니다. // 참고 JFrame 이란? Java Swing 클래스의 일부이며, 구현되는 하나의 창이다. Swing은 자바에서 그래픽 사용자 인터페이스를 구현하기 위해 제공되는 클래스이다. 버튼, 창, 표, 트리 등의 컴포넌트들을 이용할 수 있다. 예제 1 // 참고 // 메인 UI의 TextField에 내용을 입력하고 전송 버튼을 누를 시 새로운 팝업 화면에 그 메시지 내용이 노출 // 메인 UI의 삭제 버튼을 누를 시 TextField에 빈 문자열을 넣어주어 내용을 삭제시킴 // import 생략 public class ExSwing extends JFrame implemen..