URL클래스 1. URL 클래스는 URL을 추상화 하여 만든 클래스입니다. 2. URL 클래스는 final 클래스로 되어 있기 때문에 상속하여 사용할 수 없습니다. 3. 모든 생성자는 MalformedURLException 예외를 발생하기 때문에 반드시 예외처리를 해야 합니다. URL클래스의 주요생성자 URL클래스의 주요 메서드 URLConnection 클래스 URLConnection 클래스는 원격 자원에 접근하는 데 필요한 정보를 가지고 있습니다. 필요한 정보란 원격 서버의 헤더 정보, 해당 자원의 길이와 타입 정보, 언어 등을 얻어 올 수 있습니다. URL 클래스는 원격 서버 자원의 결과만을 가져 오지만, URLConnection 클래스는 원격 서 버 자원의 결과와 원격 서버의 헤더 정보를 가져 올 ..
InterAddress 클래스란? InetAddress 클래스는 IP 주소를 표현한 클래스입니다. 자바에서는 모든 IP 주소를 InetAddress 클래스를 사용합니다. InetAddress 클래스의 생성자 InetAddress 클래스의 생성자는 하나만 존재하지만, 특이하게 기본 생성자의 접근 제한자 default이기 때문에 new 연산자 객체를 생성할 수 없습니다. 따라서 InetAddress 클래스는 객체를 생성해 줄 수 있는 5개의 static 메서드를 제공하고 있습니다. InetAddress 객체를 생성하는 메서드 InterAddress 주요 메서드 InetAddress 클래스는 IP 주소를 객체화 했기 때문에 다양한 메서드를 제공하지 않습니다. 다만 호스트 이름과 호스트에 대응하는 IP 주소를 ..
네트워크란? 1. 네트워크란 다른 장치로 데이터를 이동시킬 수 있는 컴퓨터들과 주변 장치들의 집합입니다. 2. 네트워크의 연결된 모든 장치들을 노드라고 합니다. 3. 다른 노드에게 하나 이상의 서비스를 해주는 노드를 호스트라 부릅니다. 4. 하나의 컴퓨터에서 다른 컴퓨터로 데이터를 이동시킬 때 복잡한 계층을 통해 전송되는데, 이런 복잡한 레이어의 대표적인 모델이 OSI 계층 모델입니다. 5. OSI 계층 모델은 모두 7계층으로 이루어져 있습니다. 6. 데이터 통신을 이해하는데 OSI 계층 모델은 상당한 역할을 하지만, 인터넷 기반의 표준 모델로 사용하는 TCP/IP 계층 모델을 주로 사용하고 있습니다. 7. 자바에서 이야기하는 네트워크 프로그래밍은 TCP/IP모델을 사용하고 있습니다. IP주소 1. 모든..
if문을 사용하여 코딩을 할 경우 코드 라인이 의미 없이 길어지는 경우들이 종종 생깁니다. if(){ }else if(){ } 이렇게만 해도 벌써 5라인이죠. 하지만 단순한 if문일 경우 라인수를 획기적으로 줄여주는 방식이 있습니다. 바로 삼항 연산자라는 것인데요. 이번 포스팅에서는 삼항 연산자의 사용법에 대해 알아보도록 하겠습니다. 삼항 연산자의 예를 가볍게 들어보겠습니다. 위와 같은 경우 괄호 안의 조건문이 참일 경우 int a에 50이 담기게 되고 거짓일 경우에는 40이 담기게 되는 코드입니다. 삼항 연산자는 (조건문) : ? 참 : 거짓이라는 문법을 가지게 됩니다. //if else int a; if(5 사용법 & 예제
람다식이란? 람다식이란 "식별자없이 실행가능한 함수" 함수인데 함수를 따로 만들지 않고 코드한줄에 함수를 써서 그것을 호출하는 방식이라고 생각하시면 되겠습니다. 함수적 프로그래밍을 위해 자바 8부터 람다식(Lambda Expressions)을 지원하면서 기존의 코드 패턴이 많이 달라졌습니다. 자바스크립트에서 주로 봤었던 문법들을 이제 자바에서도 종종 보이곤 해요. 람다가 처음에는 생소하게 느껴질 수 있지만 문법이 간결한만큼 익숙해지면 가독성 면에서 장점이 큰 듯 합니다. (고급 프로그래머들중에서는 람다를 최대한 쓰지말라고 하는 사람도 있습니다.) 람다식 사용법 (매개변수, ...) -> { 실행문 ... } (매개변수, ...)는 오른쪽 중괄호 { } 블록을 실행하기 위해 필요한 값을 제공하는 역할을 합..
자바를 배울 초창기때 만들었던 미니언 성적관리프로그램입니다. 소스를 정리하다가 발견했네요.... 안에 소스를 보니 가관이군요... 이런식으로 코딩을 했었다니. 원래라면 고치고 인터넷상에 올려야하지만 엄두가 나지않아 그냥 올립니다. 그냥 Swing을 어떤식으로 사용했는지 참고용으로만 사용해주시면 감사하겠습니다. 프로그램 실행화면은 아래와 같습니다. 실행방법1. 위의 압축파일을 다운받아서 압축을 풀어줍니다. 2. 소스를 보시다보면 위와같이 그림파일 경로를 지정해놓은 소스가 여럿 보이실겁니다. 이 경로를 1번에서 다운받았던 경로로 교체해주시고 실행시키시면 됩니다. [Java] 그래픽 GUI AWT 사용법[Java] GUI 이벤트란 무엇인가?[Java] Swing 특징 및 구조 & 사용법 총정리
Swing이란? 자바의 JFC(Java Foundation Class)는 GUI 프로그래밍에 필요한 각종 킷을 모아놓은 것으로 현재는 GUI의 기능들을 구현할 수 있는 스윙, 2D, Drag&Drop 등을 지원합니다. 스윙을 사용하는 방법은 AWT와 거의 유사하나 AWT보다는 많은 컴포넌트 및 기능을 지원하고 있습니다. 스윙은 AWT와 달리 자바 프로그래밍으로 자체적인 제작된 컴포넌트이므로 플랫폼에 관계없이 모양이 동일하게 사용할 수 있습니다. Swing의 특징 1. 룩앤필(Look & Feel) 스윙에서 가장 획기적으로 바뀐 것 중에 하나가 컴포넌트의 화려함입니다. 이러한 외관(Look & Feel)을 프로그램을 실행하는 도중에 여러가지 형태로 바꾸어 사용 할 수 있는 기능을 제공합니다. 스윙은 순수한..
이벤트란? 이벤트(Event)라는 것은 윈도우 프로그래밍에서 어떤 특정한 행동이 발생한 그 자체를 의미합니다. 예를 들어 메뉴를 선택했다는가, 아니면 마우스를 클릭하거나, 윈도우의 크기를 조절하거나 등의 행위를 뜻하는 것입니다. 이런한 방식의 프로그래밍을 이벤트 중심의 프로그래밍이라고 하는데 윈도우 프로그래밍에서 중요한 개념 중에 하나입니다. 이벤트 소스(Event Source)는 이벤트가 발생할 수 있는 대상을 의미하고 그 대상으로부터 이벤트가 발생하면 발생된 이벤트를 처리해서 결과를 낼 수 있도록 해주는 것을 이벤트 핸들러(Event Handler)라고 합니다. 자바에서의 이벤트 처리 1. 프로그램이 실행중에 운영체제(OS)가 해당 프로그램에서 이벤트가 발생이 되는지를 검사한다. 2. 이때 이벤트가 ..
AWT란? 자바 언어가 탄생한 1995년에는 인터넷이 활성화되지 않았기 때문에 대부분의클라이언트 애플리케이션은 운영체제가 제공하는 네이티브 UI 컴포넌트를 이용하여 개발되었습니다. 그래서 Java1.0에 포함된 AWT는 운영체제가 제공하는 네이티브 UI컴포넌트를 이용하는 자바 라이브러리였죠. 그렇다보니 자바 애플리케이션이 실행되는 운영체제에 따라 UI의 모양이 서로다르고 종류도 제한적입니다. 하지만 비교적 쉽게 접할 수 있기에 콘솔에서 벗어나 Winodws개발을 하고싶은 자바개발자에게 입문코스?로 한번쯤은 해보고 넘어가는듯 합니다. AWT 구현순서 Container : 프로그램의 창의 역할을 합니다. 한개 이상의 컨테이너위에 컴포넌트들이 올려질영역입니다. (ex Frame, Panel, Dialog 등등..
자바에서 현재 날짜와 시간을 출력해주는 방법은 아주 다양합니다. 그 다양한 방법중에서 대표적으로 3가지가 주로 사용되고 있죠. Date객체를 사용하는 방법, Calendar클래스의 getInstance() 메서드를 활용하는 방법, System클래스의 currentTimeMillis() 메스드를 활용하는 방법이 바로 그것입니다. 이번 포스팅에서는 현재날짜, 현재시간을 원하는 형태로 포맷팅하여 출력하는 방법에 대해 알아보도록 하겠습니다. 1. Date객체를 활용하는 방법 SimpleDateFormat format1 = new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss"); SimpleDateFormat format2 = new SimpleDateFormat ( "yyyy년 MM월..
ArrayList를 처음 배울때 만들어봤었던 콘솔 Stack , Pop입니다. ArrayList의 add메서드와 remove메서드를 활용하면 쉽게 구현이 가능합니다. Main.java import java.util.Scanner; public class Main { public static void main(String[] args) { Queue qu = new Queue(); Stack st = new Stack(); while(true){ System.out.println("1.스택 2.큐"); Scanner sc = new Scanner(System.in); int select = sc.nextInt(); switch (select) { case 1: System.out.println("1.푸쉬 ..
자바를 초창기때 배웠을때 만들어봤었던 콘솔 성적관리 프로그램입니다. 지금 보면 정말 별거아니지만 그 당시 밤을 새워가며 열심히 코딩했었던 기억이 나네요. 그때가 정말 그립습니다. ㅎㅎㅎ 프로그램 구조는 HashMap 이런식으로 되어있습니다. Student클래스에 학생성적의 정보를 담아두고 Map을 put하거나 remove하는 방식입니다. Main.java package CollectionScore; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Score score = new Score(); int i=0; while(true){ ..
배열의 최대값 최소값 구하기 For문을 활용한 방법 //최대값 최소값을 구할 int배열 int array[] = {4,3,2,1,10,8,7,6,9,5}; int max = array[0]; //최대값 int min = array[0]; //최소값 for(int i=0;i