IDE툴을 사용하면 소스코드를 알아서 컴파일해주고 실행해주기 때문에 어떻게 이러한 과정이 이루어지는지 생각하지 않게됩니다.특히 경로에 대한 개념이 무뎌지는것 같습니다.그래서 이번에는 Eclipse를 사용하지 않고 Terminal을 이용하여 직접 자바소스파일을 컴파일하고
소스를 가져가서 자신의 Directory정보를 확인해보는 것을 추천드립니다.코드만 보는것보다 직접 결과를 확인하시면 더 직관적으로 이해가 잘 되실겁니다.
자바에서는 File 클래스는 사용해서 간단한 파일작업을 할 수 있다오늘 예제에서는 파일을 생성하고, 읽어오는 방법에 대해 알아보려고 한다File클래스는 이름은 File이지만 Directory까지 다루는 클래스이다이전 예제에서 Stream에 대해 간단히 알아보았는데기억이
이전 포스팅에서 Endiong문제로 파일작업이 제대로 이루어지지 않는 경우에 대한 예제를 살펴보았다.오늘은 보조스트림을 통해 Encoding까지 지정하는 방법을 알아보려고 한다..txt파일을 가지고 예제를 살펴보기 전에 인코딩을 설정하는 법을 알아보려고 한다..txt
Stream이란 데이터를 주고받는 통로를 의미한다Stream은 단방향으로만 작업이 가능하다.따라서 입력과 출력을 위한 Stream이 따로 존재하고, 두 가지 작업을 하기 위해서는 입력스트림(InputStream)과 출력스트림(outputStream)이 하나씩 필요하다.
Thread의 상태 \- NEW \- Thread가 생성되었지만 아직 start()가 호출되지 않은 상태\[Sample Code] 출력결과Thread state, Thread life Cycle등으로 검색하면 Thread의 상태에 대해 더욱 자세히 알 수 있다.
모든 변수와 리터럴에는 타입이 있다.프로그램을 작성하다 보면 같은 타입뿐만 아니라 서로 다른 타입간의 연산을 수행해야 하는경우도 있다.이럴 때는 연산을 수행하기 전에 타입을 일치시켜야 하는데,변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 '형변환(Casting)'
객체지향 프로그래밍은 프로그램을 여러개의 독립된 단위, 객체(Object)로 보는 것입니다.이러한 객체지향 프로그래밍은 코드의 중복제거가 가능하고, 코드의 관리가 용이해서 유지보수 비용을 절감할 수 있습니다.객체지향 프로그래밍에서 객체를 만들기위해 클래스(Class)라
중첩 클래스는 단어 그대로 클래스가 중첩되어있는 상태입니다.하나의 클래스안에 또 다른 클래스가 정의되어 있는 형태라고 생각하면 됩니다.이러한 중첩클래스 3가지 종류가 있습니다.내부 클래스 (Inner Class)정적 내부 클래스 (Static Inner Class)지역
자바에서 변수는 값을 저장하기 위한 공간이라고 생각할 수 있습니다.그리고 변수들은 데이터 타입(Data Type)을 가지게 됩니다.우선 변수에 대해 알아보기 전에 자바의 데이터 타입에 대해 알아보겠습니다.기본형 타입(Primitive Type)기본형 타입에는 문자형,
생성자란 객체 생성시 제공되는 초기화 기능이라고 생각하면 됩니다.\[기본 생성자 예시]위의 예시에서 new 오른쪽에 있는 ConstructorEx()가 생성자입니다.생성자는 객체를 생성할 때 가장 먼저 실행되어 객체를 초기화합니다.하지만 Constructor클래스에서
자바에서 상속이라는 것은 내용이 작성되어 있는 클래스를 다른 클래스에서 사용할 수 있도록 만들어 주는 것입니다또한 상속을 사용하면 코드의 재사용을 통해 코드의 중복을 없앨 수 있고, 유지보수가 매우 용이해지는 장점이 있습니다.하나의 클래스만 잘 구현해 놓아도, 여기저기
오버라이딩(Overriding)이란 상위 클래스에 선언되어 있는 메소드를 하위 클래스에서 동일하게 선언하여 사용하는 것입니다.메소드의 이름, 시그니처가 동일하지만 하위 클래스에서 구현내용을 재정의 하여 사용할 수 있습니다.\[오버라이딩(Overriding) 예시]\[출
추상클래스(Abstract Class)는 말 그대로 추상적인 클래스입니다.하지만 추상적이라는 것은 너무 광범위한 단어입니다.자바에서는 추상메소드가 한 개라도 선언되어 있는 클래스는 반드시 추상클래스로 선언해야합니다.추상메소드란 메소드의 선언부만 존재하고 구현부가 없는
Comparable은 Java.lang package에 있는 인터페이스이며 정렬을 위해 사용되는데, 보통 기본형(Primitive Type)을 정렬하는데 사용하지는 않습니다.Comparable을 사용하는것은 객체(Object)의 정렬기준을 만들어 주기 위해서입니다.만약
해싱(Hashing)이란 해시함수(Hash Function)를 이용하여 해시 테이블(Hash Table)에 데이터를 저장하는 방법을 말합니다.해시함수는 데이터가 저장되어 있는 위치를 알려주기 때문에 많은 데이터 중에서도 원하는 데이터를 빠르게 찾아낼 수 있습니다.해싱을
익명함수를 생성하기 위한 식이다.자바에서는 매개변수를 가진 코드블럭 → 런타임시 익명구현객체로 생성된다.기본형식 : (자료형 매개변수명) → { 실행문 };람다식으로 변환할 수 있는 인터페이스는 추상메서드가 1개인 인터페이스만 처리할 수 있다.이러한 인터페이스를 함수적
Process는 운영체제에서 실행중인 하나의 프로그램을 의미한다.Multi-Process는 두 개 이상의 프로세스가 실행되는 것을 의미한다.Multi-Tasking은 두 개 이상의 프로세스를 실행하여 일을 처리하는 것을 의미한다.Thread는 프로그램의 실행 흐름을 의
Single Thread는 말 그대로 하나의 Thread를 사용하는 것이다.단일 쓰레드를 사용하는 프로세스는 별도로 쓰레드를 관리하는 번거로움이 없어서 코딩은 용이하겠지만, 작업시간이 낭비되는 경우가 생긴다.\[Sample Code]위의 코드에서는 사용자가 입력을 하지