Java

· Java
열거 타입(enumeration type)열거 타입(enumeration type)enum의 간단한 사용법만 소개합니다.한정된 값인 열거 상수(enumeration constant)중에서 하나의 상수를 저장하는 타입public enum 열거타입이름 {열거상수,...} 열거타입 변수 = 열거타입.열거상수; Week today = Week.SATURDAY; // today변수와 Week.SATURDAY변수는 같은 Week객체 참조 Week birthday = null;열거 타입을 선언하려면 열거 타입 이름으로 .java 소스 파일 생성해야함열거 타입의 이름은 첫글자 대문자열거 상수는 모두 대문자 또는 여러 단어일경우 _로 연결, 각 열거 상수는 객체이므로 열거 객체들의 필드 값은 열거 상수의 문자열임열거 타..
· Java
배열값 목록 배열 생성하기길이만 정해진 배열 생성하기String 배열 생성main함수의 String[ ] args다차원 배열배열 복사배열배열은 같은 타입의 데이터만 저장 가능한 번 생성된 배열은 길이를 늘리거나 줄일 수 없음//배열 선언 타입[] 변수; //또는 타입 변수[];값 목록 배열 생성하기값 목록을 이용한 배열 생성은 변수 선언과 동시에 하거나 변수 먼저 선언했다면 new로 값 목록을 지정해줘야함메소드의 매개값으로 값 목록 배열 생성할때도 new 사용해야함//배열 선언과 동시에 값 목록 지정 타입[] 변수 = {값0, 값1, 값2, ...}; //배열 선언 후 new로 값 목록 지정 타입[] 변수; 변수 = new 타입[] {값0, 값1, 값2, ...}; //메소드 메개값으로 사용 int re..
· Java
참조 타입JVM 메모리 사용 영역메소드 영역힙 영역JVM 스택 영역참조 변수의 ==, != 연산NullPointerException참조 타입배열 타입, 열거 타입, 클래스, 인터페이스JVM 메모리 사용 영역메소드 영역JVM이 시작할때 생성되고 모든 스레드가 공유하는 영역코드에서 사용되는 클래스들을 클래스 로더로 읽어 클래스별로 static필드, 상수, 메소드 코드, 생성자코드 등을 분류해 저장힙 영역객체와 배열이 생성되는 영역여기에 생성된 객체와 배열은 JVM스택 영역의 변수나 다른 객체의 필드에서 참조함. BUT 참조하는 변수나 필드가 없다면 JVM이 Garbage Collector를 실행시켜 자동으로 제거JVM 스택 영역메소드를 호출할때마다 프레임(frame)을 추가(push)하고 메소드가 종료되면 ..
· Java
if문switch문for문for-each문do-while문break문if문if (조건식1) {…} else if (조건식2) {…} else {…}switch문변수가 어떤 값을 갖느냐에 따라 실행문이 선택됨괄호 안의 변수 값과 같은 값인 case로 가서 실행문 실행하고, 동일한 case 값이 없으면 default로 가서 실행문 실행default는 생략 가능break는 다음 case를 실행하지 않고 switch문을 빠져나감. break가 없으면 다음 case가 연달아 실행됨// 대소문자 구분없이 동일하게 처리 char grade = 'A'; switch(grade) { case 'A': case 'a': System.out.println("우수 회원"); break; case 'B': case 'b': S..
· Java
증감 연산자부호 연산자(+, -)삼항 연산자증감 연산자++변수, —변수 : 증감이 먼저 계산되고 다른 연산자 처리변수++, 변수— : 다른 연산자가 먼저 처리되고 증감 계산됨int x = 10; int y = 10; int z; z = x++; System.out.println(z); // 10 System.out.println(x); // 11 z = ++x; System.out.println(z); // 12 System.out.println(x); // 12 z = ++x + y++; System.out.println(z); // 23 System.out.println(x); // 13 System.out.println(y); // 11⚠️++i와 i = i + 1은 바이트코드가 동일하기 때문에 연..
· Java
출력입력Scanner클래스출력입력Scanner클래스출력println( )괄호안의 내용 출력하고 줄 바꿈print( )괄호안의 내용 출력만함printf(”형식문자열”, 값1, 값2, …)괄호 안의 문자열 형식대로 출력printf(”%[argument_index$(값의 순번)] [flags(-, o)] [width(전체 자릿수)] [.precision(소수 자릿수)] conversion(d(정수), f(실수), s(문자열))System.out.printf("이름: %1$s, 나이: %2$d", "바밤바", 25); // 이름: 바밤바, 나이: 25%6d, %6s6자리, 왼쪽 빈자리 공백%-6d, %-6s6자리, 오른쪽 빈자리 공백%10.2f소수점 이상 7자리, 소수점 이하 2자리, 왼쪽 빈자리 공백%-10...
· Java
타입 변환자동 타입 변환정수 & 실수 연산에서 자동타입변환+연산에서 자동타입변환강제 타입 변환문자열을 기본 타입으로 강제 타입 변환기본 타입을 문자열로 변환타입 변환타입 변환이 줄면 실행 성능이 향상됨!자바는 실행성능을 향상시키기 위해 컴파일 단계에서 연산 수행 가능byte result = 10 + 20; /* 자바 컴파일러는 컴파일 단계에서 10 + 20을 미리 연산해 30을 만들고, result변수에 30을 저장하도록 바이트 코드 생성 /*자동 타입 변환작은 범위에서 큰 범위로는 자동 형변환됨 (byte → short, char → int → long → float → double) char 타입이 int로 자동변환되면 유니코드 값이 int 타입에 저장됨byte타입은 음수를 포함하는데 char타입은 ..
· Java
주요 패키지사용되지 않는 예약어실행문 & 세미콜론;명명법변수, 자료형변수 이름 짓는 법절대 변하지 않는 상수: fianl주요 패키지java.lang모든 프로그램에 필요한 기본 부품 제공java.util많은 프로그램에 유용한 유틸리티 부품 제공java.io파일 또는 네트워크 입출력 전담 부품 제공java.awt윈도우 프로그램용 시각 사용자 인터페이스 부품 제공javax.swing개선된 사용자 인터페이스 부품 제공java.net네트워크 통신 전담 부품 제공사용되지 않는 예약어사용되지 않는 예약어대체제constfinalgoto없음 실행문 & 세미콜론;실행문은 ;를 기준으로 구분됨;을 구분자로 해서 한줄에 여러 실행문을 작성하거나 또는 여러줄에 걸쳐 작성하고 맨 마지막에 ;을 붙여도 됨명명법상수명 : 대문자(A..
· Java
메모리 상에서 구동 방식멀티 스레드 vs 멀티 프로세스멀티 스레드멀티 프로세스가비지 컬렉션(Garbage Collection)자바 개발 도구인 JDK를 이용해 개발된 프로그램은 JRE에 의해 가상의 컴퓨터인 JVM상에서 구동됨JDK(Java Development Kit) : 자바 개발 도구, JVM용 소프트웨어 개발 도구로 JRE를 포함하고 자바 소스 컴파일러인 javac.exe를 포함함JRE(Java Runtime Environment) : 자바 실행 환경, JVM용 OS로 JVM을 포함하고 자바 프로그램 실행기인 java.exe를 포함함JVM(Java Virtual Machine) : 자바 가상 기계, 가상의 컴퓨터메모리 상에서 구동 방식프로그램은 메모리를 코드 실행 영역과 데이터 저장 영역으로 구분..
· Java
static에 대해서 static멤버는 JVM이 종료될때까지 메모리의 static영역에 배치된다. 그러므로 static멤버를 많이 사용할수록 메모리를 많이 사용하게 된다. 장점 간결한 코드 작성 가능 어디서든 접근 가능 heap영역에 생성 및 해제할 필요 없어 GC(가비지컬렉터) 오버헤드를 줄여줌 단점 무분별한 사용은 메모리 부족 야기 캡슐화(한 객체가 갖고있는 데이터들은 외부에서 함부로 접근하여 수정할 수 없는) 위배 static메서드는 인터페이스를 구현하는데 사용될 수 없어 재사용성이 떨어짐 thread-safe하지 않아 멀티 스레드 동작에서 충돌 발생할 수 있음 static은 언제 써야할까? 클래스 설계시, 공통적으로 사용되는 변수나 메서드에 붙인다. 인스턴스 변수(Non-static멤버 변수)를 ..
siwoli
'Java' 태그의 글 목록