DAY 06
✏️ 지난시간
- 자바의 실행 단위는 class 이다 (JVM에서 class가 실행된다.)
%JAVA_HOME%/bin/javac.exe
%JAVA_HOME%/bin/java.exe
userName.java -> javac userName.java -> java userName
[class userName{}] [userName.class] [JVM]
- jre + lib : JDK Tool을 실행시키는 참조형 라이브러리
- jar = project -> package -> .java -> .class
-class = userDataTypr keyword {(NESTED|FIELD)|(CONSTR|METHOD)}
= 속성 + 기능 (메시지) = FIELD + METHOD
- 접근제한자 : public[공개] -> protected [상속] -> default [같은 package] -> private [비공개]
클래스에는 public, default만
- 기본자료형 : 값[Boolean, 정수, 실수, 한문자, 문자열] 들을 저장하는 메모리 단위
Byte(1) -> short (2) -> int(4) -> long (8) -> float (4) -> double (8) // String은 클래스
char(2)
- 전역변수 : 클래스안에 선언되는 변수 (생성자 멤버 변수 초기화)
- 지역변수 : 메소드 안에 선언되는 변수 (반드시 초기화를 명시)
=> [접근제한자] datatype 변수 = 값; // 접근제한자는 전역변수만
- Method(static = class명.멤버 / non-static = 클래스변수.멤버)
- void / datatype return
=> 접근제한자 [static] [void | datatype] userName(obj...){
[return]
}
- if ,switch , while, do ~ while, for
- continue, break, return
- for (값을 받을 변수 : 시작주소값을 가진 변수) {} // 처음부터 끝까지 순차적으로
- crud(create, read, update, delete)
- 참조 (. -> & $)
- API를 볼때
1. 어떤 클래스를 가지고 있는지
2. 어떤 메소드를 가지고 있는지
✍️ overload : 메소드를 선언할 때 같은 기능의 메소드를 동일한 이름으로 선언하되 ()안의 매개인자의 개수 또는 데이터 타입을 다르게 주는 원형을 말한다.
public class Test02{
public static void Prn (int a, int b) {
}
public static void Prn (int a, float f) {
}
public static void Prn (int a, int b, int c) {
}
✍️ 중첩 for (다중 for)
public static void Prn(){
for (int i = 0; i<3; i++) {
for (int j = 0; j<3; j++){
System.out.println("abc");
}
System.out.println();
}
}
// i=0-> j=0, j=1, j=2-> i=1 -> j=0, j=1, j=2-> i=2 -> j=0, j=1, j=2
✍️ 배열(Array)
[1차원 선언방법]
datatype 변수명 [] = {요소...}; // 나열형 값에 의해 사이즈가 정해진다.
ex) int ar[] = {10,20,30,40,50};
datatype [] 변수명 = {요소...};
ex) int [] ar = {10,20,30,40,50};
datatype [] 변수명 = new datatype[] {요소...};
ex) int [] ar = new int [] {10,20,30,40,50};
datatype [] 변수명 = new datatype [요소의크기];
ex) int [] ar = new int[5]; // 기본값으로 채운다.
ex)
public static void ArreyTest(){
int [] ar = {10,20,30,40,50}; // 정적
int [] ar = new int[] {10,20,30,40,50} // 동적(new 연산자를 만나면 자유영역공간으로)
// => 메모리를 만들어서 참조하는 영역이 다름
System.out.println(ar); // 배열의 주소 (시작주소 &ar[0])
System.out.println(ar.length); // 요소의 크기
System.out.println(ar[0]);
System.out.println(ar[1]);
System.out.println(ar[2]);
System.out.println(ar[3]);
System.out.println(ar[4]);
return ar; // &ar[0]을 리턴하겠다.
[다차원]
- 2차원 [행][열] , 3차원 [면][행][열]
datatype 변수명 [][] = {{요소..}{..}}; // 나열형 값에 의해 사이즈가 정해진다.
datatype [][] 변수명 = {{요소..}{..}};
datatype [] 변수명 [] = {{요소..}{..}};
datatype [][] 변수명 = new datatype [][] {{요소..}{..}};
datatype [][] 변수명 = new datatype [요소의크기][];