안드로이드(코틀린)에 들어가면 이젠 GUI를 사용하게 된다. 그래서 코틀린으로 가기전에 맛보기로 GUI를 한번 체험해보자. 자바에서 GUI프로그래밍을 하기 위해선 GUI 프로그램이 필요한데 자바에선 크게 3가지 종류가 있다. 위의 있는 AWT와 Swing 그리고 요즘 많이 사용하는 JavaFX가 있다. 이번 시간에는 Swing을 이용해서 컴포넌트를 사용해볼 것이다. (JavaFX는 따로 설치가 필요해서....) 스윙의 클래스 구조는 위의 사진과 같이 구성되어 있다. 그럼 실습해보자. 언제나 그랬듯 메인함수를 만들어주자. GUI 환경에선 Frame을 먼저 만들어줘야한다. (GUI에선 화면을 먼저 만들고 채우는 것이 국룰이라고 함) JFrame은 Swing의 API 중 하나로 우리가 화면에 띄울 창을 만드는..
목차 1. TCP : 전화 방식 1. 서버 2. 클라이언트 2. UDP : 택배 방식 1. Sender 2. Receiver 오늘은 네트워크에 대해서 알아볼 것이다. 프로토콜은 송신자와 수신자 사이에 메시지나 데이터 등을 주고받기 위해 사전에 정해놓은 규칙을 말한다. 여러 가지의 프로토콜 방식이 있지만 2가지 프로토콜에 대해서 공부를 할 것이다. 통신 : Network TCP : 전화 방식 신뢰성이 있는 통신 방식 UDP : 택배 방식 신뢰성이 결여된 통신 방식 1. TCP : 전화 방식 TCP 방식은 신뢰성이 있는 통신 방식으로 인터넷 환경에서 기본적으로 사용하는 프로토콜이라고 한다. 1. 서버 IP주소 관련 클래스인 InetAddress를 사용해서 얻은 결과물은 위의 사진과 같다. hostname은 ..
오늘은 Thread에 대해서 주로 공부할 것이다. 목차 1. Thread 2. Runnable 3. 익명클래스 4. 동기화 5. 스레드의 기능들 1. Thread Thread - 작성된 코드를 실행하는 객체 - 동시에 여러 작업을 하고 싶을 때 쓰는 문법 기본적으로 우리는 프로그래밍의 실행이 한 줄식 차례대로 되는 것으로 배웠다. 그렇다면 만약 파일을 다운로드하면서 음악 재생을 하고 싶을 땐 어떻게 해야 할까? 바로 오늘 배울 Thread를 이용해야 한다. 스레드는 작성된 코드를 실행하는 객체로 동시에 여러 작업을 처리할 수 있다. 이를 왜 쓰냐면 어떤 프로그램을 다운로드하는 것과 동시에 음악을 듣는 상황이라고 가정해 보자. 근데 동시에 처리를 하지 않는다면 다운로드가 다 끝날 때까지 유저는 음악을 들을..
목차 1. Generic 2. Collection AP 1. List 2. Set 3. Map 1. Generic Generic : 멤버의 자료형을 객체 생성할 때 정하는 문법 Generic은 명칭이 정해지지 않은 상품이다. 즉 객체를 생성(new)할 때, 자료형을 입력하는 형태이다. 원래 클래스에 멤버변수를 선언할땐 자료형을 말해줘야 한다. 하지만 위의 사진처럼 작성한 경우 객체를 생성할 때 자료형을 결정할 수 있다. 메인함수로 돌아와서 을 사용해서 자료형을 결정하고 객체를 만들 수 있다. 자료형에는 Random과 같은 객체도 넣을 수 있다.(신기..) 제네릭 문법을 사용할 때 int와 같은 기본 자료형은 사용할 수 없다. 하지만 Wrapper class를 사용하면 기본형 자료형을 이용할 수 있다. 위..
오늘은 오브젝트 클래스와 예외에 대해서 공부할 것이다. 오브젝트 클래스는 쉽게 이해가 가능하지만 Exception은 좀 어려울 수도 있다. 하지만 앞으로 많이 쓰일 개념이라 어떤 것인지만 알고 넘어가도 된다. 목차 1. Object class 1. toString() 2. equals(Object obj) 3. getClass() 4. hashCode() 5. wait(), notify(), notifyAll() : 이건 Thread 수업에서 소개. 6. Object class를 사용하는 대표적인 예 2. Getter & Setter 3. Exception 1. 0으로 나눗셈하는 경우 2. 배열의 인덱스 번호 사용 오류 3. Null값을 참조변수로 쓸 때 4. 잘못된 데이터 입력 5. 숫자로 바꿀 수 없..
오늘은 객체 지향의 마지막인 다형성에 대해 공부를 해볼 것이다. 다향성을 기준으로 추상클래스, 추상메소드를 배우고 인터페이스까지 알아볼 것이다. 목차 1. 다향성이란?? 1. 업캐스팅(Up casting) 2. 다운캐스팅(Down casting) 3. 배열에 사용해보기 2. 추상(abstract) 1. 추상 클래스 2. 추상 메소드 3. 인터페이스(interface) 1. 다향성이란?? 다형성(polymorphism)이란 부모-자식 상속 관계에 있는 클래스에서 상위 클래스가 동일한 메시지로 하위 클래스들을 서로 다르게 동작시키는 객체 지향 원리이다. 사실 이렇게 정의만 보고 이해하기가 쉽지 않다. 다향성은 객체나 인터페이스 등 철학적인 느낌을 자아내는 용어이기 때문에 실제로 해보면서 이해하는 게 좋다. ..