변수와 데이터 형식
- 문자형 : char - 2byte, String - 여러글자의 문자열 입력
- 정수형 : byte - 1byte, short - 2byte, int - 4byte, long - 8byte
- 실수형 : float - 4byte, double - 8byte
- boolean : true또는 false 입력
if, switch() ~ case
if(조건식) {
// 조건식이 true일때 실행하는 부분
}
if(조건식) {
//조건식이 true일때 실행하는 부분
} else {
//고건식이 false일때 실행하는 부분
}
switch(값) {
case 값1 :
//값1이면 실행하는 부분
break;
case 값2 :
//값2면 실행하는 부분
break;
-
-
default:
//아무것도 해당되지 않으면 실행되는 부분
break;
}
배열
: 여러 데이터 한 변수에 저장하는데 사용
int one[] = new int[4];
one[0] = 10;
one[3] = 20;
int two[][] = new int[3][4];
two[0][0] = 100;
two[2][3] = 200;

int three[] = {1, 2, 3};
for, while문
for(초기식; 조건식; 증감식) {
//반복 실행하는 부분
}
- 배열 지원하는 for문의 형식
: 배열 내용이 하나씩 변수에 대입되고 나서 for문 내부 실행 (배열 개수만큼 for문이 반복)
for(변수형 변수 : 배열명) {
//변수를 사용하는 부분
}
while(조건식) {
//조건식이 true인 경우 수행하는 부분
}
메소드 전역변수, 지역변수
- global variable : 모든 메소드에서 사용가능
- local variable : 메소드 내부에서만 사용가능
try ~ catch
- 프로그램 실행 중에 발생하는 오류를 처리

연산자
- 캐스트 연산자
- 클래스형 데이터의 강제 형식 변환에도 상당히 많이 사용
- 사용 예
Button button1;
button1 = (Button) findViewById(R.id.btn1);
// View 클래스형을 Button형으로 변환
클래스와 인스턴스
클래스 정의와 인스턴스 생성
- 객체지향 프로그래밍
: Java, C++, C# 등에서 사용되는 프로그래밍 기술
- 클래스 = 변수 + 메소드
생성자
메소드 오버로딩
: 클래스 내에서 메소드 이름 같아도 파라미터 개수, 데이터형만 다르면 여러 개 선언 가능
정적 필드, 정적 메소드, 상수 필드
- 정적 필드 : 클래스 자체에서 사용되는 변수, static 키워드 붙은 변수에 속하지 않음
- 정적 메소드 : 메소드 앞에 static 붙여 사용, 클래스명.메소드명() 으로 호출해 사용
- 상수 필드 : 정적 필드에 초기값 입력하고 final 앞에 붙임
클래스 상속과 메소드 오버라이딩
- 클래스 상속
기존 클래그 물려받으면서 필요한 필드, 메소드 추가 정의
ex) 슈퍼 클래스-자동차, 서브 클래스-승용차/트럭
![업로드중..]()
- 오버라이딩
: 부모클래스로부터 상속받은 메소드를 자식 클래스에서 재정의해서 사용
추상 클래스와 추상 메소드
- 추상 클래스
- 인스턴스화 금지하는 클래스
- 메소드 앞에 abstract써서 사용
- 추상 메소드
- 메소드 본체 없는 메소드
- 추상 메소드 포함하는 클래스는 추상 클래스로 지정해야함
- 추상 메소드를 오버라이딩 하는 것을 추상 메소드를 구현한다고 함
![업로드중..]()
인터페이스와 다중 상속
- 인터페이스
- interface 키워드 사용해서 정의
- 내부에는 추상 메소드 선언
- 클래스에서 인터페이스 받으면 implements 키워드 사용
- 다중 상속
- 자바는 다중상속 지원 안하고 인터페이스 사용해 비슷하게 작성 가능
![업로드중..]()
패키지
- 패키지
- 클래스, 인터페이스 많아지면 패키지 단위로 묶어서 관리
- 사용자 생성한 클래스 포함될 패키지는 *.java 파일 맨 첫 행에 지정
- 제너릭스 : 데이터 형식의 안전성 보장하는 데 사용
![업로드중..]()
데이터 형식 변환, 문자열 비교, 날짜 형식
-
데이터 형식 변환 : 데이터형 변환 위해 캐스팅 연산자 대신, 자바에서 제공하는 클래스의 정적 메소드 사용
![업로드중..]()
-
문자열 비교 : 문자열 비교하려면 String 클래스의 equals() 메소드 사용
![업로드중..]()
-
날짜 형식 : 날짜 표현 위해 DateFormat 클래스 사용, 상속받은 SimpleDateFormat 사용시 연월일/시분초 표현 가능