목록전체 글 (98)
알버트의 개발하는 블로그
이번 시간에는 자바에서 제공하는 Dimension 클래스에 대해서 알아보겠습니다. Dimension 클래스는 모니터 해상도를 기억하거나 윈도우의 크기에 대한 작업을 할 경우 사용되어집니다. 모니터 해상도를 얻어와서 Dimension 클래스의 객체에 저장할 수 있는데요. 그 중에 Toolkit 클래스는 모니터 해상도 또는 디스크에 저장된 이미지 파일을 읽어올 때 사용됩니다. dimen = Toolkit.getDefaultToolkit().getScreenSize(); //모니터 해상도를 얻어오는 명령 dimen2 = getSize(); //윈도우 사이즈를 받아오는 명령 소스 코드는 대표적으로 이 2가지 방법으로 사용되어 집니다. 바로 간단한 예제를 통해서 Dimension 클래스를 사용해보겠습니다. Dim..
이번에는 JFrame 클래스로 윈도우창 만들고 닫는걸 해보도록 하겠습니다. JFrame클래스는 Frame클래스의 상위 호환이라고 생각하시면 됩니다. 프레임 클래스보다 좀 더 세련되고 다양한 기능을 구현할 수 있습니다. 프레임 클래스와 마찬가지로 윈도우창을 제공해주는 클래스입니다. 바로 간단한 예제를 통해서 JFrame 클래스로 윈도우창 만들기를 해보도록 하겠습니다. JFrame 클래스 예제 package kr.koreait.windowTest; import java.text.SimpleDateFormat; import javax.swing.JFrame; //JFrame을 상속받고 Runnable 인터페이스를 구현받는다. (다중 상속과 같은기능) public class WindowTest5 extends ..
이번 시간에는 자바에서 제공하는 Frame 클래스에 대해서 배워보겠습니다. Frame 클래스는 각종 응용프로그램을 위한 윈도우를 제공하는 클래스입니다. Frame 클래스를 통해서 이제 단순한 콘솔창 말고 윈도우창을 만들거나 윈도우창을 조절할 수 있습니다. 그래서 GUI 프로그램에서 필요한 스킬입니다. 모든 GUI 프로그램에서는 한 개의 Frame이 필요합니다. 이제 간단한 예제를 통해서 Frame 클래스로 윈도우창을 만들고 닫아보겠습니다. Frame 클래스 예제 package kr.koreait.windowTest; import java.awt.Color;//윈도우창 color 클래스 import java.awt.Frame;//Frame클래스 import java.awt.event.WindowAdapte..
이번 시간에는 자바 스레드에서 제공하는 중요한 기능중에 하나인 동기화에 대해서 알아보겠습니다. 스레드라는 것은, 프로세스에서 실행되는 가장 작은 실행단위인데요. 이 스레드들이 공유된 데이터를 사용해야 할 때가 있습니다. 근데 두 스레드가 공유된 데이터를 처리하다 보면 생각치 못한 오류가 발생할 수 있습니다. 그래서 동기화라는 것은, 이 스레드들이 공유 데이터를 누가 먼저 작업할지 순서를 정해줍니다. 즉, 공유 영역을 사용하는 스레드가 실행중일 때 같은 공유 데이터를 사용하는 다른 스레드가 실행되지 못하도록 하는 것을 말합니다. 순서를 정해주는 것입니다. 따라서 동기화 블록에는 실행중에 절대로 작업 전환이 이루어지면 안되는 내용을 코딩해주어야 합니다. 스레드 동기화 주요 메소드 wait() : 다른 스레드..
이번시간에는 자바에서 제공하는 스레드(thread)의 개념과 스레드 관련 주요 메소드를 알아보도록 하겠습니다. 스레드는 프로그래밍으로 멀티태스킹을 구현함에 있어서 굉장히 중요하기 때문에 반드시 알아두어야 하는 개념 중에 하나입니다. 스레드란? (Thread) 우리가 컴퓨터로 음악을 들으면서 워드작업을 하면 2가지 이상의 프로세스를 동시에 하는 것입니다. 그리고 이것을 우리는 멀티태스킹을 한다라고 합니다. 쓰레드는 이 프로세스 내에서 실행되는 세부 작업의 단위입니다. 여러 개의 쓰레드가 모여 하나의 프로세스를 구성하게 되는데요. 그리고 이 하나의 프로세스를 구성하는 여러 개의 쓰레드를 멀티 쓰레드라고 합니다. 예를 들면, 자바 내에서 우리가 메인 클래스에서 프로그래밍을 하면 메인클래스의 쓰레드가 무조건 실..
이번 시간에는 자바에서 제공하는 유용한 클래스인 HashSet과 TreeSet 클래스에 대해서 익혀보겠습니다. HashSet과 TreeSet은 ArrayList처럼 원하는 데이터를 저장할 수 있는 클래스입니다. 하지만 이 둘은 ArrayList와는 다르게 중복된 데이터를 허용하지 않는다는 점에서 공통점을 갖고 있습니다. 그래서 데이터를 저장해야 하는데 중복된 데이터는 필요없을 때 유용하게 쓰입니다. 먼저 HashSet부터 예제를 통해서 알아보겠습니다. HashSet 클래스 예제 package kr.koreait.collectionTest; import java.util.HashSet; import java.util.Random; public class HashSetTest { public static v..
이번 시간에는 자바 추상 클래스와 다형성에 대해서 익혀보는 시간을 갖도록 하겠습니다. 추상 클래스는, 추상 메소드를 포함한 클래스를 말합니다. 몸통이 구현이 안된 추상메소드를 포함하고 있기 때문에 이 클래스를 상속받는 클래스들은 추상 메소드의 몸통을 명시하면서 오버라이드해주어야 하는데요. 다형성은 이 상속받은 추상메소드를 여러 클래스에서 각기 다른 방법으로 사용할 수 있는 것을 말합니다. 즉, 단어의 뜻처럼 '여러가지 형태를 가지고 있다'는 것을 의미합니다. 구체적으로 말하자면 추상 메소드의 다형성이 될 것입니다. 간단한 예제를 통해서 다형성을 구현해보도록 하겠습니다. 추상 클래스와 다형성 예제 package abstractClassTest; import java.util.Scanner; abstract..
이번 시간에는 자바에서 제공하는 추상 메소드와 추상 클래스에 대해서 알아보고 익혀보도록 하겠습니다. 먼저 추상 메소드라는 것을 알아야 추상 클래스에 대해서 알 수 있습니다. 추상 메소드는 메소드는 메소드지만, 머리만 있고 몸통이 없는 메소드를 말합니다. 즉, 함수의 원형은 있는데 그 함수로 뭘 처리해주겠다는 내용이 없는 것입니다. 즉, 함수의 몸통인 "{ }"블록이 없이 대가리만 선언한 불완전한 함수를 추상 메소드라고 합니다. public void kindOf() { } //