목록Study (53)
Fairy ' s
// 참고 Spring Bean Spring IOC(Inversion Of Control) 컨테이너가 관리하는 자바 객체 IOC : 사용자가 제어권을 다른 주체에게 넘기는 것을 말한다. 이것이 뜻하는 것은 일반 자바 프로그램에서 각 객체들이 프로그램의 흐름을 결정하고 각 객체를 직접 생성하고 조작하는 작업으로 호출했고, 모든 작업을 사용자가 제어하는 구조였다. IOC가 적용된 경우 객체의 생성을 특별한 관리 위임 주체에게 맡긴다. 이 경우 사용자는 객체를 직접 생성하지 않고 객체의 생명주기를 컨트롤하는 주체는 다른 주체가 된다. Spring Bean을 Spring IOC Container에 등록하기 위해서는 자바 어노테이션을 등록하거나 Bean Configuration 파일에 직접 Bean을 등록할 수 ..
// 참고 웹 서버 (Web Server) 클라이언트가 요청한 정적인 콘텐츠를 HTTP 프로토콜을 통하여 제공해주는 서버 (정적 콘텐츠 제공이 가장 큰 역할) 동적인 요청이 클라이언트로부터 들어왔을 때, 해당 요청을 웹 서버에서 처리할 수 없기 때문에 컨테이너로 보내주는 역할 웹 서버 종류 : Nginx, Appach HTTP Server, IIS 정적페이지 : 데이터베이스에서 정보를 가져오거나 별도의 서버 처리가 없어도 사용자에게 보여줄 수 있는 페이지 종류로는 Html, Css, Js, Image 가 있다. 동적페이지 : 어떠한 요청에 의해 서버가 일을 수행하고 해당 결과가 포함된 파일을 보여주는 페이지 컨테이너 (Container) 동적인 데이터들을 처리하여 정적인 페이지로 생성해주는 소프트웨어 모..
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..