Programming (208) 썸네일형 리스트형 파일 입출력 파일 텍스트를 읽는 방법- 파일의 문자를 한문자씩 읽는 방법(FileReader 클래스)- 텍스트를 한줄 씩 읽는 방법(BufferedReader 클래스)- 텍스트를 한번에 모두 읽는 방법(Scanner 클래스, Files 클래스) 파일의 문자를 한문자씩 읽는 방법(FileReader 클래스)FileReader 클래스는 텍스트 파일에서 문자 단위로 데이터를 읽어 들이는 클래스 FileReader(File file) - File객체를 지정해서 FileReader를 생성FIleReader(String fileName) - 읽어드릴 파일명을 지정해서 FileReader를 생성 int read() - 입력스트림에서 한 개의 문자를 읽어 반환void close() - 입력 스트림을 닫고, 스트림에 관련된 모든 시.. 래퍼클래스와 제네릭 래퍼클래스자바에서는 참조형 값만 받는다고 정의되어 있으면 기본 자료형을 이용할 수 없는 경우도 있다.이때 기본자료형을 클래스로 변환해야 한다.자바에선 이런한 경우를 대응하고자 래퍼클래스라는 기본 자료형을 나타내는 클래스가 각각 준비되어있다. byte - Byteshort - Shortint - Integerlong - Longfloat - Floatdouble - Doublechar - Characterboolean - Boolean 기본 자료형과 래퍼 클래스의 변환은 자동으로 이루어진다.단, 래퍼 클래스의 초기값은 null이 된다.그래서 값을 설정하지 않으면 0이 아니라 null이 되므로 그때 자동으로 변환되면 예외가 발생한다. 상수한번 대입한 값을 나중에 변경하고 싶지 않을 때 final 제한자를 붙.. 부동소수점 부동소수점수를 다루는 산술 연산의 주의점 double, float 등 부동소수점을 계산할 때 오차가 발생해 의도한 값이 되지 않는 경우 @Testpublic void doubleCalTest() {double resultDouble = 0.0;resultDouble = 0.7+0.1;System.out.println("0.7 + 0.1 =" + resultDouble);} 결과0.7 + 0.1 =0.7999999999999999 소스코드 상에 기술된 10진수를 자바 실행환경에서 2진수로 변환해 계산하기 때문에 부동소수점수에서는 10진수와 2진수 변환시 오차가 발생한다. 따라서 금액계산 등 오차를 허용하지 않고 정확한 수치를 요구하는 경우에는 BigDecimal 클래스를 이용하여 계산해야 한다. BigDe.. 스레드 스레드- 스레드 사전적 "끈을 구성하는 실" 멀티 스레드- 복수의 스레드로 하나의 프로그램을 실행하는 기술멀티 스레드를 사용하는 이유로 처리를 빠르게 하기 위해. 프로그램에서는 주로 논리적인 조작을 하면서 동시에 외부와 데이터를 주고받는 처리를 하게 된다.그런데 외부와의 연계에서 대기 시간이 발생하는 경우가 있다.기다리는 동안 다른일을 해두면 전체적인 처리 시간이 짧아진다.예) 집안일(세탁기가 돌아가는 동안 청소기로 방을 청소하는 것) 단, 멀티 스레드로 처리한다고 뭐든지 빨라지는 것은 아니다.프로그램을 실행하는 컴퓨터의 CPU 코어 수가 적으면 병렬 처리 스레드를 그만큼 만들수 없기 때문에 생각보다 빨라지지 않는다.또한 처리하는 데이터양이 적은 경우도 마찬가지로 속도 향상을 기대할 수 없다.그러므로 이.. 문자열과 날짜 문자열문자 덩어리를 하나의 데이터로 다루는 처리 문자열의 기초지식자바에서는 문자열 데이터를 String 클래스로 다루는 것이 기본기본형인 char를 이용해 1문자씩 다룰수 있지만, 방법이 불편해서 사용하지 않는다.일반적으로 문자열 조작에는 String형을 사용한다. String 클래스는 일반 클래스와 구별되어 특별 취급.new를 사용하지 않고도 인스턴스화할 수 있다. String test = "String 클래스이다."; new 연산자로 선언String test = new String("String 클래스이다."); 하지만 new 연산자로 선언하는 것은 의미도 없고 이중으로 인스턴스를 만들게 된다. String 클래스는 인스턴스의 데이터가 변하지 않는 불변(immutable)클래스이다.String형 데이.. 컴포넌트 컴포넌트컴포넌트의 정의- 컴포넌트에 대한 정의는 다양하다. 컴포넌트가 재사용 단위라는 의미로 많이 사용되기 때문이다.재사용이라는 측면을 넓은 의미로 보면 소프트웨어 개발에 있어서 재사용되는 모든 단위들은 컴포넌트라고 보는 것이다.이런 의미에서의 컴포넌트는 재사용되는 문서, 재사용 모델, 재사용 테이블, 재사용 코드, 재사용 라이브러리 등 다양하다. 그러나 소프트웨어 개발에 있어서 하드웨어 컴포넌트(예: RAM, HDD, CPU 등)처럼 실제 소프트웨어 시스템 작동에 필요한 런타임 모둘(Runtime Module)의 성격을 가진 재사용 단위로서의 컴포넌트를 다룬다.이러한 좁은 의미에서의 컴포넌트에 대한 정의도 다양하게 표현되고 있다.표현 방법의 차이일 뿐이지 개념에 대한 내용은 동일하다. "컴포넌트는 잘 .. 다형성 다형성 다형성 정의- 다형성(Polymorphism)이란 "여러 개의 형태를 가진다"의 의미의 그리스어에서 유래된 말로서 특정한 심벌이나 연산자에 대해 상황이 다르면 그 의미도 다르게 부여할 수 있는 특성을 말한다. 연산자의 경우 예로 플러스 기호(+) 일반적으로 두수를 더하라는 의미로 사용되지만, 불린검색에서는 논리 연산인 and를 의미한다. 객체지향언에서는 연산자 오버로딩이라는 용어로 다형성을 표현한다. 객체지향에서는 이러한 다형성을 오버로딩(overloading)과 오버라이딩(overriding) 두가지 형태를 모두 포함하고 있다.오버로딩은 다시 연산자 오버로딩과 함수 오버로딩으로 분류하고 있다. 연산자 오버로딩이란 특정 연산자가 상황에 따라 연산자의 의미나 용도가 달리 쓰이는 현상을 말한다.예) .. 인터페이스 인터페이스의 개념 인터페이스의 정의인터페이스 - 사물간 또는 사물간의 인간 사이의 의사소통이 가능하도록 일시적 혹은 영구적 접근을 목적으로 만들어진 물리적, 가상적 매체를 의미 예) TV 리모콘(시청자와 TV 수상기와의 상호작용을 위한 인터페이스) 컴퓨터 하드웨어 분야에서는 인터페이스르 물리적 매체로 나타내지만, 소프트웨어서는 특정 기능을 위한 관련된 함수들의 집합이라고 표현 객체지향에서 다루는 인터페이스 개념은 소프트웨어에서 다루는 인터페이스 개념을 의미.인터페이스는 특정 기능 또는 특정 서비스 수행에 필요한 함수들을 선언만 하고 있기 때문에 이 선언된 함수들에 대한 구현은 클래스나 컴포넌트를 통해서 구현하게 된다.따라서 인터페이스에대한 명세가 잘 정의되면 구현은 인터페이스와 분리되어서 다양하게 구현할.. 이전 1 ··· 11 12 13 14 15 16 17 ··· 26 다음