📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법

# 자바[Java] (47)

자바[Java] 2017. 11. 14. 23:22

[JAVA] Wrapper 클래스와 오토박싱(Boxing) 오토언박싱(Unboxing)

Wrapper 클래스 (포장 클래스)자바에는 래퍼클래스 라는것이 있습니다.래퍼 클래스는 말그대로 포장 클래스입니다.그럼 무엇을 포장하느냐? 그것은 바로 기본 자료형 데이터를 포장합니다.자바는 완벽한 객체지향 언어이고 모든 것이 객체로 이루어져 있다고 말하지만 객체가 아닌것들이 존재합니다.그것은 바로 기본 자료형입니다.8개의 기본 자료형인 byte, short, int, long, char, float, double, boolean 은 객체가 아닙니다.이들이 객체가 아닌 이유는 가장 빈번한 연산을 하는 데이터들이기 때문에 높은 성능을 이끌어내기 위해서였을 것입니다.아무래도 객체는 기본 자료형 데이터보다 덩치가 크고 그렇게 되면 연산시 더 많은 자원을 요구하기 때문입니다.그러나 이러한 기본자료형이 객체가 아..

자바[Java] 2017. 10. 30. 21:05

[JAVA] 환경변수 설정하는 이유 및 환경변수란 무엇인가

환경변수란환경변수는 운영체제가 참조하는 변수입니다.예를 들어 일반 사용자들이 가장 많이 사용하는 운영체제는 마이크로소프트의 Windows 시리즈 입니다.그러나 이 Windows 시리즈는 그래피컬한 환경 즉 GUI 환경이지만 초기 모델은 DOS 환경이었습니다.이 DOS 환경은 쉽게 생각하면 우리가 알고 있는 cmd(Command라고 쓰고 명령 프롬프트라 읽음) 환경이라고 보시면 됩니다.리눅스도 그렇고 이런 CMD도 마찬가지지만 이런 텍스트 기반 환경은 모든 행동들을 명령어를 통해 이루어집니다.예를 들어 현재 나의 위치(디렉터리 경로)를 c:\내문서 로 이동해라 라든지 현재 위치에 있는 notepad 프로그램을 실행해라 라든지 등이 그것입니다.우리가 사용하는 Windows 도 보여지는 것은 그래피컬하지만 더..

자바[Java] 2017. 10. 30. 20:37

[Java] URLEncoder URLDecoder 클래스

자바 URLEncoding웹 개발을 하다보면 URL 관련하여 인코딩이 필요한 경우가 있습니다.URL에는 여러가지 규칙이 있고 그 규칙에 사용되는 문자들이 정해져있기 때문에 특정한 값들은 규칙에 맞게 변환되어야 합니다.또는 쿠키와 같이 한글을 표현하지 못하는 경우 한글을 ASCII값으로 인코딩해주야 합니다.이럴때는 다음과 같이 URLEncoder 클래스와 URLDecoder 클래스를 사용하면 됩니다.참고URLEncoding이란? - [HTTP] URL EncodingURLEncodeTest.javaimport java.io.UnsupportedEncodingException;import java.net.URLEncoder;public class URLEncodeTest { public static v..

자바[Java] 2017. 10. 30. 20:25

[Java] Type Safe란?

Type Safe(타입 세이프) 란 말그대로 타입에 안정적인 것을 의미합니다.타입에 불안정적이다 라고 하는것은 타입을 판별(Type Check) 하지 못해 Runtime 시 타입으로 인한 문제가 발생하는 것입니다.Type Safe 하다 라는 것은 그 반대로 타입을 판별(Type Check) 할 수 있어 Runtime시가 아닌 컴파일시 문제를 잡을 수 있는 것입니다.예를 들어보겠습니다.다음과 같은 상속 관계의 클래스들이 있습니다.물론 실제로 이렇게 클래스들을 설계하는 것은 매우 무의미한 행동이지만 여기서는 예를 들기 위함임을 감안해 주세요.저희 동물원을 객체지향적으로 표현했을 때 최상위 클래스(Object 제외)로 Animal이 있고 그 하위에 Lion과 Duck이 있습니다.Lion 클래스에는 hunt()..

자바[Java] 2017. 10. 30. 20:14

[Java]스레드(Thread) - [3] 스레드 생성과 실행 Runnable 구현

저번 시간에 이어서 이번에는 Runnable 인터페이스를 구현한 후 Thread 객체를 통해 실행하는 방법을 알아보도록 하겠습니다.2. Runnable 인터페이스 구현을 통한 방법제목에서처럼 Runnable은 인터페이스 입니다.Runnable 인터페이스에는 run()이라는 추상메서드 하나만 존재합니다.이 Runnable 인터페이스를 가지고 어떻게 다중상속을 이용하여 스레드를 실행 시킬까요?Runnable.javapublic interface Runnable { public abstract void run();}자세한 실행 방법은 다음과 같습니다.Runnable 인터페이스 구현구현한 Runnable 객체를 생성하여 Thread에게 전달Thread start()먼저 Runnable 인터페이스를 구현합니..

자바[Java] 2017. 10. 30. 20:03

[Java]스레드(Thread) - [2] 스레드 생성과 실행

메인 스레드(Main thread)자바 어플리케이션에서 main() 메서드는 프로그램의 시작점 입니다.그리고 main() 메서드 또한 스레드에 의해 실행되는데 이 스레드를 main 스레드라 합니다.모든 자바 어플리케이션은 JVM에서 동작하는데 main() 메서드가 있는 클래스를 찾고 메인 스레드를 생성한 후 메인 스레드에서 main() 메서드를 실행하는 것입니다.(평소에 공부 또는 테스트용 로직으로 main() 메서드에서 시작해서 main() 메서드에서 종료되는 어플리케이션의 처리 흐름)자바 어플리케이션 자체는 운영체제에게 자원을 할당받은 프로세스 입니다.컴파일된 자바 클래스는 JVM 위에서 동작하죠.JVM은 프로그램의 시작점인 main() 메서드를 찾아서 메인 스레드를 생성하고 메인 스레드의 run()..

자바[Java] 2017. 10. 30. 19:46

[Java]스레드(Thread) - [1] 스레드란?

스레드(Thread)스레드는 경량 프로세스(Light-Weight) 라고도 하며 하나의 프로세스 안에서 여러개의 흐름 을 말합니다.그 여러개의 흐름이 여러개의 실 가닥 같다고 하여 스레드라고 불리게 되었죠.프로세스란 실행중인 프로그램이고 운영체제에게 메모리를 할당받아 실행합니다.윈도우의 작업 관리자를 보면 현재 kakaoTalk 라는 프로그램이 실행중입니다.이것을 프로세스라고 하며 메모리를 78,124KB 할당받아 실행중인것을 알 수 있습니다.그렇다면 왜 스레드가 필요한 것일까요??예를 들어 메이플 스토리라는 게임이 있습니다.이 게임은 사냥도 하면서 동시에 배경음악을 실행시키고 또 채팅까지 할 수 있습니다.만약 스레드 없이 어느 한 시점에 한가지 흐름으로 즉 사냥만 또는 배경음악만 또는 채팅만 한다면 어..