목록JAVA (14)
개발자 끄적끄적
- 출력 시 모두 대문자로 출력하고자 할 때 등과 같이 출력 컬렉션을 매핑하거나 변경할 때 사용 - 스트림내에 있는 값들 중 중복값을 제거한다 - 컬렉션에 있는 데이터를 조건에 맞는 것만을 골라낼 수 있다 - filter 메서드는 boolean 결과를 리턴하는 람다표현식이 필요하다 - 컬렉션의 값들을 정렬하여 출력 - 컬렉션의 조건들이 특정 조건에 만족하는 지 조사한다 [종류] - allMatch() : 모든 조건이 만족할 때 참 - anyMatch() : 하나의 조건만 만족해도 참 - noneMatch() : 모든 조건이 만족하지 않으면 참 ex) List list = Arrays.asList(6,5,8,9,4,3,2,1,7); boolean b1 = list.stream().allMatch(x -> ..
- 함수적 프로그래밍 기법 - 함수식 프로그래밍은 병행처리나 이벤트 지향 프로그래밍에 적합하다 - 자바 8버전부터 람다식을 지원하고 있다 - 람다식의 장점은 자바 코드가 간결해지고, 컬렉션 요소를 필터링하거나 매핑해서 원하는 결과를 손쉽게 집계할 수 있다 - 람다식은 매개변수를 가진 코드 블럭이지만 런타임시에는 익명 구현 객체를 생성하여 실행된다 *익명 구현 객체 new A(); {처리내용; [return 값]} *'->'는 화살표 함수(arrow function) - 매개변수가 없는 경우 ()는 반드시 사용해야 한다 () -> { ... } - 매개 변수 타입은 실행 시 대입되는 값에 따라 자동 인식 될 수 있기 때문에 기술하지 않아도 된다 (변수형 변수 , ... ) -> { ... } (변수, ....
- 키값 = 값 형태로 저장된다 - 키와 값은 모두 문자열 형태이다 [주요 메서드] load(InputStream) : 스트림을 통해 읽어 들인다 Store(OutputStream) : 스트림을 통해 저장한다 - 동시에 2개 이상의 작업을 동시에 작업하려 할 때 다중처리 방법들을 사용해야 하는데, 자바에서는 Thread를 통해 다중처리 처원을 수행한다 - 자바에서 Tread를 동시에 만들어 실행할 수 있도록 멀티스레드 기능을 지원한다 [멀티 태스킹과 멀티 쓰레드의 차이점] 멀티 태스킹 : 하나 이상의 프로세서를 이용하여 여러개의 프로그램을 동시에 실행 멀티 쓰레드 : 하나의 프로그램에서 여러개의 일을 동시에 실행 1. Thread를 상속했을 때 Class A extends Thread{ @Override..
- 메모리를 할당받아 실행 중인 프로그램을 프로세스라고 한다 - 프로세스 내의 명령어 블록으로 시작점과 종료점을 가진다 - 실행 중에 멈출 수 있으며 동시에 수행 가능 - 어떤 프로그램내에서 특히 프로세스 내에서 실행되는 흐름의 단위 - JDK에서 지원하는 java.lang.Thread제공 1. Thread(String s) : 스레드 이름 2. Thread(Runnable r) : 인터페이스 객체 3. Thread(Runnable r, String s) : 인터페이스 객체와 스레드 이름 - static void sleep(long msec) throws Interrupted Exception : mesc에 지정된 밀리초 동안 대기 - String getName() : 스레드의 이름을 s로 설정 - vo..
- 자바에서 사용하는 자료 구조의 한 방법으로 배열의 단점을 보안하고 검색이나 정렬 등의 편의 기능들이 추가 - List - Set - Map - Properties [주요 기능 비교 - CRUD] C(Create) : add R(Read) : get(i) U(Update) : set D(Delete) : remove 기타 : - 순서 있다(첨자) - 중복 가능 - 배열구조와 유사 C(Create) : add R(Read) : Iterator U(Update) : remove->add D(Delete) : remove 기타 : - 순서 없다 - 중복 불가능 C(Create) : put(a, v) R(Read) : get, keySet, Values U(Update) : put(a, v) D(Delete)..
- 객체를 만들어 내기 위한 설계도 혹은 틀 - 연관되어 있는 변수와 메서드의 집합 - 소프트웨어 세계에 구현할 대상 - 클래스에 선언된 모양 그대로 생성된 객체 [특징] - '클래스의 인스턴스(instance)'라고도 부른다 - 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다 - opp관점에서 클래스 타입으로 선언되었을 때 '객체'라고 부른다 - 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체 즉, 객체를 소프트웨어에 실체화 하면 그것을 '인스턴스'라고 부른다 - 실체화된 인스턴스는 메모리에 할당된다 [특징] - 인스턴스는 객체에 포함된다고 볼 수 있다 - 추상적인 개념(또는 명세)과 구체적인 객체 사이의 관계에 초점을 맞출 경우에 사용한다 - '~의 인스턴스'의 형태로 사용된다 - 객..
- 지정된 문자열을 구분자를 사용하여 token이라는 조각으로 분리하는 기능 - 구분자를 2개 이상의 문자로 지정하더라도 한자씩 사용하여 token으로 분리 [주요 생성자] 1. StringTokenizer(String source, String delim) - delim에 들어있는 문자 하나 하나 따로 사용하여 source문자열을 토큰으로 만든다 2. StringTokenizer(String source, String delim, boolean b) - Boolean값이 true이면, delim문자들로 토큰이 된다 3. int countTokens() - 꺼내지 않고 남아 있는 토큰의 갯수 4. boolean hasMoreTokens() - 남아 있는 토큰이 있으면 참 5. String nextToke..
- 인스턴스에 대한 정보를 문자열로 제공한다 - 반환되는 기본 문자열은 자신의 클래스명 @hashCode()의 결과 값이다 - 메서드를 재정의하여 클래스가 기본적으로 출력해야 하는 문자열을 만들어 사용자에게 제공할 수 있다 - 고정 문자열을 처리하는 각종 메서드가 있다 - char charAt(int p) : p위치의 문자를 하나 반환 - byte[] getBytes(encoding) : 문자열을 encoding 방식으로 변환 - int length() : 문자열의 길이를 구한다 - int indexOf(String str[, int offset]) : str의 위치를 구한다 못찾은 경우 -1을 반환. offset이 지정되면 그 이후의 위치부터 찾는다 *콤마(,)나 닷(.)도 자리수에 포함한다 - Str..
[import gui.*의 의미] - gui안에 있는 모든 클래스 gui 클래스 1. A클래스 2. B클래스 3. C클래스 4. ABC클래스 1)D 2)E 3)F 가 있을 때 gui.*는 A, B, C, ABC클래스만 참조되고 D, E, F는 포함하지 않는다 D, E, F를 포함하려면 import gui.ABC.*라고 써야한다 - 자바 프로그램이 어느 기기, 어느 운영체제 상에서도 실행할 수 있게 만들어 준다 => WORA - 자바 프로그래의 메모리를 효율적으로 관리&최적화해준다 - 프로그램을 실행하는 자바 플랫폼 구성요소이다 *가비지 컬렉션(Garbage Collection) - JVM이 메모리를 관리하는 프로세스를 지칭하는 용어이다 - 자바 프로그램 상에서 사용하지 않은 메모리를 지속적으로 찾아 제거..
- 자바에서 DB프로그래밍을 하기 위해 사용되는 API이다 - 데이터베이스 종류에 상관없다 - 컴퓨터나 컴퓨터 프로그램 사이의 연결이다 - 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공한다 - java Swing 클래스 일부이며 구현되는 하나의 창이다 - 버튼, 창, 표, 트리 등의 컴포넌트를 이용할 수 있게 해주는 클래스 - GUI(Graphic User Interface)프로그램(윈도우 프로그래밍)을 위한 도구 - Java로 구현하지 않고 OS의 컴포넌트를 그대로 사용(OS 종속적) - AWT관련 패키지는 모두 java.awt로 시작한다 - AWT컴포넌틔 최상쉬 조상은 java.awt.Component클래스(메뉴 관련 컴포넌스 제외) - 자바에서 GUI(Graphic User Int..
*package : '폴더'라고 생각하면 된다 - class구성 요소를 크게 나누면 필드와 메서드로 이루어져있다. 1. 필드 : 클래스가 갖고 있어야 하는 값을 저장하는 변수 멤버 변수라고도 하지만 자바 진영에서는 필드라고 부른다 2. 메서드 : 작업을 실행하기 위해서 작성되는 구조이다. 멤버함수, 함수 등의 의미와 같지만 자바 진영에서는 메서드라 부른다 //오류코드 class A{ for(int i=1; i prn)()은 생성자가 아니기 때문 [클래스 미션] 1. 성명, 국어성적, 영어성적, 수학성적을 생성자로 전달받아 필드에 저장하시오. 2. hap메서드를 실행하면 성적들의 합계와 평균을 구하여 필드에 저장하시오. 3. prn메서드를 통해 성적 정보를 표준 출력 장치에 출력하시오. 4. 성적은 sco..
public static void main(String[]args){ ... } - static : 메모리에 제일 먼저 상주한다 WhileTest wt = new WhileTest(); - wt : instance = object = 객체 - wt는 내맘대로 선언 가능->abc도 가능 [while 미션] 1. WhileTest클래스를 만들어 아래의 조건을 해결하시오. 2. 두 개의 정수 x,y를 전달받아 x~y까지의 합을 계산하는 hap 메서드를 작성 3. 한 개의 정수 dan을 전달받아 dan에 해당하는 구구단을 출력하는 gugudan 메서드를 작성하시오. 4. 두 개의 정수 x,y를 전달받아 x~y까지의 수 중 4의 배수만을 출력하는 메서드 incre를 작성하시오. package core; publi..
int tot=kor+eng+mat+compute; float avg = tot/4; ->불가 이유->정수형 연산의 정수형은 무조건 정수이기 때문이다 결과->소숫점이 절삭된 값이 나온다 float avg =tot/4f; ->가능 [가능] double avg=tot/4.0; double avg=tot/(double)4; double avg=tot/4d; double avg=tot/4.0d String str="" ->가능 String str=null; ->가능 -------------------복습------------------- - 자바에서 정수형끼리의 연산 결과는 무조건 정수형이다 - 산술 연산시 데이터 형이 큰 쪽으로 결과가 자동 프로모션된다 += : 덧셈을 한 뒤, 대입 -= : 뺄셈을 한 뒤, ..
- 플랫폼의 독립성 : 자바로 작성된 프로그램은 하부의 플랫폼과는 상관없이 자바의 가상 머신 위에서만 운용한다 - 객체지향 언어 : C++보다 더욱 막강하고 완벽한 객체 지향성을 보장한다 - 멀티 쓰레드 지원 - 자동 메모리 관리 : 자바 가상 머신이 작동으로 사용되지 않는 메모리를 찾아 해제해 준다 - 동시성능 확장 제공 : 프로그램의 성능이 확장되었거나 개선되었을 때 네트워크를 통해 자동으로 다운로드 되어 설치될 수 있다 - 네트워크와 분산처리 지원 : 비교적 짧은 시간에 분산처리 지원 프로그램을 개발할 수 있다 - 자바는 컴파일을 실행하면 기계어가 아닌 '바이트 코드'라는 중간 단계의 컴파일 결과를 생성한다 이 코드는 하드웨어나 O/S와는 무관하게 작동되며 이는 자바가 설치되어 있으면 재 컴파일 없..