자바 프로그래밍 기초 Border
자바 프로그래밍 기초 Border ■ 자바 스윙의 특징 중의 하나인 보더에 대해서 알아보도록 하겠습니다. 보더는 8가지의 형태가 있는데요. 각 보더들의 객체를 'bb'로 통일 시켜놓고 주석을 달아놨습니다. 주석을 해제해 가면서 하나씩 어떻게 표현이 되는지 살펴보도록 할게요. ■ 먼저 BevelBorder를 실행해 봅니다. 이 보더는 컴포넌트가 올라가거나 내려간 모양을 표현할때 사용하는데요.그림으로 보겠습니다. ■ 다음은 EmptyBorder 입니다. 이것은 라벨처럼 평평한 형태입니다. ■ EtchedBorder는 컴포넌트의 주변에 홈이 파이는 형태입니다. ■ LineBorder는 주변에 라인을 타나타낸데요. 이 선의 두깨는 조절할 수 있습니다.아래 빨간색 라인은 포토샵으로 한게 아니라 자체에서 저렇게표현..
자바 라디오버튼과 토글(Toggle)
자바 라디오버튼과 토글(Toggle) ■ 자바의 버튼 종류 중 ToggleButton에 대해서 먼저 알아보도록 할게요. 이 Button의 기능은.하나를 선택하게되면 나머지는 모두 해제되는 기능입니다. 그렇게 작동하기 위해서는 모두가 하나의 그룹으로 묶여 있어야 하는데요. 그룹으로 묶고 토글의 기능을 적용하는 예제를 만들어 보겠습니다. ■ 선택된 토글버튼 하나와 해제된것 세개를 설정하고 이것들을 그룹으로 묶어서 관리해줄 객체를 생성하였습니다. ■ 그룹으로 ToogleButton을 묶어주고 Container에 추가하였습니다. 프로그램을 실행해 보면 다음과 같이 네개의 버튼이 나타나고 하나를 누르면 나머지 세개는 해제가 됩니다. ■ 위의 예제에서 보았듯이 bg라는 버튼그룹 객체가 있고 네개의 Button 을 ..
[JAVA] 자바 스윙 [툴팁과 이벤트 메서드]
자바 스윙 컴포넌트 [툴팁과 이벤트 메서드] ■ 자바의 스윙 컴포넌트중 툴팁과 이벤트 관련 메서드에 해서 알아보도록 하겠습니다. 툴팁은 어플리케이션을 사용할때 특정 버튼이나 화면이 어떤 내용을 담고 있는지 확인하기 위해서 마우스를 그 위에 올려 보면 말풍선 비슷한것이 뜨면서 그 내용을 보여주는 기능을 많이 봤을 것입니다. 그게 【툴팁】 기능인데요. 예제를 만들어보고 어떻게 실행이 되는지 살펴보도록 할게요. ■ 기본 폼에 스윙에서 지원하는 툴팁의 기능을 작성해 봤습니다. 위 내용을 실행 해 보면 다음과 같이 테스트 1과 2에 마우스를 올려보면 위에서 작성한 내용이 나타나는걸 확인할 수 있습니다. 이것이 툴팁의 기능입니다. ■ 다음으로 【이벤트 메서드】들에 대해서 알아보도록 할게요. 예를 들어 살펴보면 AL..
[Java] 자바 스레드 예제
▣ 자바(Java) 스레드 예제 Thread와 Runnable을 구현한 클래스 ■ 먼저 간단하게 thread와 Runnable를 동시에 구현한 클래스의 예를 만들어보겠습니다. Threa API 활용 ■ 이번에는 스레드 클래스를 이용해서 얻을 수 있는 정보를 살펴보도록 하겠습니다. 지난 포스팅에서 API를 정리해봤었는데요. 그 메서드들을 이용해서 예제를 만들어 보겠습니다. ■ 소스 코드를 살펴보면 * 5번 라인 : 현재 이 프로그램이 진행행중인 상태에서 Thread의 총 갯수를 나타나내는 것입니다. * 8번 라인 : 이 코딩을 만나게 되면 실행중인 Thread를 객체로 담아둘 수 있습니다. *10번 라인 : cur라는 객체에 담긴 Thread의 이름을 출력하게 합니다. *13번 라인 : 시간 지연 매서드로..
[java] 자바 스레드
스레드(thread)를 공부하기에 앞서 정확한 의미를 알아보고자 IT용어 사전을 검색해 봤는데 이런 뜻이네요. 일정한 구간을 실행하는 프로그램의 실제 작업구간 정도로 이해하고 공부를 시작하면 될거 같네요. ■ 자바에서 멀티스레드 프로그램을 만드는 방식은 두가지고 있는데요. ▶ java.lang.Thread 클래스를 상속 받아서 하는 방법 ▶ java.lang.Runnable 인터페이스를 구현하는 방법(인터페이스를 구현하는 방식은 사용할 메서드들이 없기 때문에 thread 클래스의 객체와 함께 사용해야 합니다.) ■ 왜 이렇게 두가지 방법을 만들어 놨을까요? 이건 상속과 관련된 부분인데, 자바는 클래스의 다중 상속이 안되기 때문인데요. 만약에 스레드 외에 다른 클래스를 상속받은 클래스에서 thread를 구..
[JAVA] 자바 static
■ static의 기본 개념은 '공유' 인데요. 이것은 멤버 필드와 메서드, 그리고 클래스 앞에서 지정예약어로 사용됩니다. 먼저 기본적인 개념들을 정리하고 예제를 통해서 어떻게 사용되는지 알아보도록 하겠습니다. ■ 먼저 초기화에 대해서 알아보겠습니다. 일반 멤버는 생성자에서 초기화를 하는데요. static은 위처럼 따로 블록({}) 내부에서 초기화를 합니다. 그 이유는 공유하기 위해서 객체가 하나도 만들어지지 않았더라도 메모리에 그 값이 할당 되어 있어야 하기 때문입니다. 그래서 프로그램이 실행이 되면 메인메서드 보다도 먼저 실행이 됩니다. ■ 이제 클래스를 만들어서 초기화 되는 과정을 사펴보도록 하겠습니다. ■ 이렇게 먼저 초기화가 됩니다. 위 그림처럼 꼭 블럭을 치지 않고 . private stati..
[JAVA] 자바 this
지난 생성자 포스팅에서 this()라는 메서드를 조금 살펴봤었는데요. 이번에는 예약어 this에 대해서 알아보도록 하겠습니다. 먼저 간단한 예제를 하나 살펴보도록 하겠습니다. 위와 같은 간단한 프로그램이 있다고 했을때 실행을 시켜보면 aaa.disp()와 bbb.disp()는 각각x=10, y=20 과 x=5, y=6을 출력하게 되는데요. 이 결과가 어찌보면 당연하지만 조금 더 깊게생각해보면 당연하지가 않은 결과 입니다. 먼저 메인메서드에서 aaa와 bbb객체를 만들면서 메모리상에는 두개의 x와 y값이 할당 되어 있게 됩니다. aaa와 bbb에는 모두 x와 y의 값이 있는 상태에서 aaa.disp() 실행의 뜻은 aaa 객체를 통에서 disp()메서드를 호출하라는 뜻인데요. 그러면 Ex04클래스 에서 d..
[JAVA] 자바 생성자
생성자(Construct)라는 것은 멤버 필드을의 초기값을 할당해주는 역할을 합니다. 그리고 클래스의 객체를 생성할때는 무조건 Construct를 호출해야만 객체를 생성할 수 있습니다. 또 클래스 내부에 Construct 가 하나도 없으면 자동으로 default 가 있는 것으로 인식합니다. 예제를 봐가면서 자세히 알아보도록 하겠습니다. 먼저 클래스의 객체를 만드는 과정입니다. 다음과 같은 예제를 살펴보도록 하겠습니다 . 아래 그림에서 Construct 부분을 작성하지 않아도 저거와 똑같은 default가 있는것과 같습니다. Ex04클래스의 객체 aaa를 만드는 방법은 다음과 같습니다. ■ Ex04 aaa = new Ex04(); 여기서 앞쪽의 Ex04는 클래스의 이름이고, 뒤쪽의 Ex04는 위 그림에 있..
[JAVA] 자바 클래스
프로그램을 만들다 보면 같은 자료형의 필드들이 나열되는 경우가 있을때는 배열을 사용해서 관리를 편하게 합니다. 배열은 같은 자료형들을 묶어서 관리 하는건데요. 그렇다면 서로 다른 자료형들은 한번에 묶어서 관리할 수 있는 방법이 없을까를 고민 하다가 나온것이 Class 입니다. Class 내부에는 변수, 배열 뿐만 아니라 메서드와 같이 어떠한 행위를 집어 넣을 수도 있습니다. 변수들만 사용하는 프로그램에서 동일하나 자료형의 변수들을 묶어서 배열로 사용하고, 동일하지 않는 자료형까지 묶기 위해서 구조체가 나왔으며, 메서드의 수행까지 포함할 수 있는 Class로 발전하였습니다. 구조를 살펴보도록 하겠습니다. 하나의 클래스를 구성할때는 class라는 예약어와 클래스의 이름입니다. 가장 단순한 형태는 다음과 같을..
[JAVA] 자바 for문
■ for문을 알아보기에 앞서 다음과 같이 '*'을 하나 출력하는 예제를 살펴보도록 할게요. 당연히 '별'이 하나 출력이 됩니다. 그렇다면 별 10개를 만들고자 한다면 System.out.println("*"); 을 10개 복사해서 붙여넣기 하면 되겠죠. 백개...까지도 어떻게 해보겠습니다...ㅋㅋ 그런데 5만개의 별을 출력하라고 한다면...??;;시간이 걸리겠지만 가능은 하겠죠. 그런데 이런 경우에 for문을 활용하면 손쉽게 처리를 할수가 있습니다. 이처럼 for문은 유사한 문장을 일정한 숫자만큼 반복하게 하는 제어문입니다. ■ 그럼 먼저 위의 예제를 만들어보고 이론을 살펴보도록 하겠습니다. 형식은 위와 같습니다. '*' 열한개를 나란히 출력하도록 해본겁니다. (원래는 열개만 할려고 했는데 조건식 부분..
[JAVA] 자바 switch~case~break
앞선 포스팅에선 if문을 살펴봤었는데요. 이번에는 switch~case문을 살도록 하겠습니다. if문 같은 경우 위에서 아래로 쭉 비교하면서 프로그램이 실행이 되기 때문에 조건이 길어질수록 프로그램 속도가 많이 떨어진게 되는데요. switch~case구문은 특정 위치를 찾아가서 그 부분의 내용부를 실행하고 break부분에서 블럭(})을 빠져나오게 됩니다. ■ 간단한 예제를 만들어서 실행하면서 살펴보도록 하겠습니다. 예제를 하나씩 살펴보면 먼저 switch의 값(a)과 case에서 비교되는 값으로는 byte, short, char, int 등...네가지의 자료형만 사용할 수 있습니다. 그리고 여러개를 비교할 수 있도록 위와같이 중첩되게 사용할 수 있고, 만약에 switch의 값이 동일한 값이 case에 없..
[JAVA] 자바 if문 예제
자바를 공부하면서 느끼는 거지만 이론 설명을 아무리 잘 들어도 직접 코딩을 해보고 소스를 분석하는게 공부하는데 도움이 많이 되는거 같습니다. 그래서 전 개인적으로 복습하는 의미이고 혹시 이 포스팅을 보시는분들 중에 저같은 초보가 계시다면 이해 하는데 도움이 되셨음 합니다.^^ ▣ 「if문」에는 세가지의 형식이 있습니다. 하니씩 간단한 예제를 만들어가면서 보겠습니다. 1형식 다음과 같은 예제가 있다고 볼때 먼저 숫자를 입력하라는 문구가 출력이 되고, if문의 내용을 보면 만약에 a가 5보다 크면 내용부를 실행하고, a가 5보다 작다면 아래 내용부는 실행하지 말라는 내용입니다. 즉 a가 5보다 큰것이 true이면 다음 내용을 실행하고 그렇지 않고 false이면 실행하지 말고 지나가라는 내용입니다. 아래쪽 결..
[JAVA] 자바 배열 선언 및 초기화
▣ 자바 배열의 선언과 초기화 배열[]이란 같은 자료형을 메모리상에 연속적으로 나열하여 관리하기 편하게 하는 방식인데요. 어떻게 선언하고 초기화 하는지 알아보고 메모리상에는 어떻게 나열되는지 살펴보도록 하겠습니다. 사용할 수 있는 자료형은 기본 자료형 8가지와 String, System 등의 class형까지 모두 사용할 수 있습니다. 여기서 하나 기억해야 할것은 배열명 (위 예의 sh, a)는 어딘가의 주소를 기억하는 무조건 4byte의 레퍼런스 형이라는 점입니다. 초기화 방법에는 위처럼 세가지의 방법이 있습니다. 첫번째의 경우는 선언과 동시에 초기화 하는 방법이고 두번째, 세번째는 선언과는 별도로 초기화 할 수 있습니다. 첫번째 방법부터 살펴보도록 할게요. 이 방법은 해당 자료형으로 여러개의 공간을 힙..
[JAVA] 자바 API 사용하기
▣ 자바 API 사용하기 자바에는 어떤 package가 있고 그 안에는 어떤 클래스와 메서드가 있는지 알아볼 수 있는 문서가 java Documentation API 인데요. 쉽게 생각하면 도움말 같은 문서라고 생각하면 됩니다. 공식 사이 트에 있는 Documentation 는 당연히 영어로 되어 있습니다. 인터넷 상에 한글버전도 있기는 하지 만 전 그냥 공식 사이트의 것을 보려고합니다. 영어를 잘하지는 못하지만 내용들을 보면 고등학교 수준의 영어만 할 줄 알아도 왠만한건 다 알아볼 수 있겠더라구요. 모르는 단어는 찾아가면서 영어 공부도 같이 공부한다고 생각할렵니다.ㅋ ■ 우선 API부터 찾아가보도록 할게요 먼저 오라클 사이트로 이동을 합니다.▶. www.oracle.com 다음 그림과 같이 [Downl..
[JAVA] 이클립스 다운로드 및 설치
■ 이클립스는 직접 코딩을 하고 컴파일을 시켜볼 수 있는 툴(Tool)입니다. 꼭 이클립스를 사용하지 않더라고 여러가지 'Tool' 들이 있습니다. (Edit Plus, JPadpro, Kawa 등) 개인적인 취향에 맞게 사용하시면 됩니다. 전 공부하는 책이 이클립스로 코딩을 하고 있어서 그냥 이걸 사용하기로 했습니다. ■ 선배들 말로는 프로그램을 제대로 공부할려면 처음부터 '메모장'에 코딩을 하고 'cmd' 창에서 실행을 시키면서 공부하라고 하더라구요.;; 그렇게 할려고 생각중인데, 일단 이것도 설치해놓고 함께 사용해 가면서 공부할려구요. ■ 다운받기 위해서 이클립스 사이트로 가보겠습니다. www.eclipse.org ◀ 다운로드 메인화면인데요. 다운로드롤 선택합니다. ■ 최신버전으로 다운받겠습니다. ..
[JAVA] 자바 다운로드 JDK 설치
■ 자바는 '썬 마이크로시스템즈'에서 개발한 프로그래밍 언어죠. 그러다가 2009년 4월에 데이터베이스 회사인 오라클에 인수되었습니다. JDK를 설치하는 다운로드 바아서 설치하고 컴퓨터에 '환경변수'를 설정 해주는 과정으로 진행이 됩니다. JDK를 다운받기 위해서 오라클 사이트에 접속하겠습니다. www.java.sun.com ◀ 오라클 사이트 ■ 오라클 메인페이지입니다. 깔끔하네요^^ ■ 다운로드 받기 위해서 다음과 같이 다운로드를 선택하고 왼쪽에 개발자를 위한 자바라는 목록이 있습니다. 클릭~~!! ■ JDk , server JRE , JRE 등이 보이네요..「JDK다운로드」를 선택합니다. ■ 당연히 라이센스 동의란에 체크해주시구요. 최신버전으로 자신의 컴퓨터 운영체제에 맞는 버전으로 선택을합니다. 제..