Java TIL(2)
📚 하루에 한번씩 배운 것과 지식을 정리하려고 쓰는 글
📗 Java 기초문법
📌 배열이란?
인덱스를 이용해서 자료형이 같은 데이터를 관리하는 것이다.
// 배열 선언 후 초기화
int[] arr1 = new int[5];
arr1[0] = 100;
arr1[1] = 200;
arr1[2] = 300;
arr1[3] = 400;
arr1[4] = 500;
// 배열 선언과 초기화를 동시에
int[] arr2 = {10, 20, 30, 40, 50};
📌 배열의 기본 속성
인덱스를 이용해서 자료형이 같은 데이터를 관리하는 것이다.
// 배열 선언 후 초기화
int[] arr1 = new int[5];
arr1[0] = 100;
arr1[1] = 200;
arr1[2] = 300;
arr1[3] = 400;
arr1[4] = 500;
// 배열 선언과 초기화를 동시에
int[] arr2 = {10, 20, 30, 40, 50};
기본 자료형 데이터를 담고 있는 변수와 달리 배열 변수는 배열 데이터의 주소를 담고 있다.
// 배열 기본속성
int[] arrAtt1 = {10, 20, 30, 40, 50, 60};
int[] arrAtt2 = null;
int[] arrAtt3 = null;
// 배열 길이
System.out.println("arrAtt1.length : " + arrAtt1.length);
// 배열 요소 출력
System.out.println("arrAtt1 : " + Arrays.toString(arrAtt1));
// 배열 요소 복사
arrAtt3 = Arrays.copyOf(arrAtt1, arrAtt1.length);
System.out.println("arrAtt3 : " + Arrays.toString(arrAtt3);
// 배열 레퍼런스
arrAtt2 = arrAtt1;
System.out.println("arrAtt1 : " + arrAtt1);
System.out.println("arrAtt2 : " + arrAtt2);
System.out.println("arrAtt3 : " + arrAtt3);
/* 결과
arrAtt1.length : 6
arrAtt1 : [10, 20, 30, 40, 50, 60]
arrAtt3 : [10, 20, 30, 40, 50, 60]
arrAtt1 : [I@4554617c
arrAtt2 : [I@4554617c
arrAtt3 : [I@74a14582
*/
💡 배열1과 배열3의 주소는 요소의 값만 복사했을 뿐이므로 각자 다르다. 배열1과 배열2가 담은 주소는 같은 주소다. 같은 곳을 가르키고 있음.
📌 다차원 배열
배열 안에 또 다른 배열이 존재한다.
// 다차원 배열
int[][] arrMul = new int[3][2];
arrMul[0][0] = 10;
arrMul[0][1] = 100;
arrMul[1][0] = 20;
arrMul[1][1] = 200;
arrMul[2][0] = 30;
arrMul[2][1] = 300;
// 출력 후 결과
[10, 100]
[20, 200]
[30, 300]
📌 조건문 - switch 문
비교대상이 되는 결과값과 선택사항이 많을 경우 주로 사용한다.
// switch문
System.out.print("점수를 입력하세요. : ")ㅣ
Scanner inputNum = new Scanner(System.in);
int score = inputNum.nextInt();
switch (score) {
case 100:
case 90:
System.out.println("수");
break;
case 80:
System.out.println("우");
break;
case 70:
System.out.println("미");
break;
default:
System.out.println("try again!!");
break;
}
inputNum.close();
💡Scanner(System.in) 입력받은 뒤에 close()해주어야 함
📗 Java 객체
📌 객체 지향 프로그래밍이란?
- 객체란 ?
세상에 존재하는 모든 것을 뜻하며, 프로그래밍에서 속성과 기능을 가지는 프로그램 단위이다.
- 클래스란 ?
객체를 생성하기 위한 툴로 모든 객체는 클래스로부터 생성된다.
- 클래스 구성요소
클래스는 속성(멤버 변수)와 기능(메서드)로 구성된다.
ex) 자전거
속성(멤버 변수) : 안장, 핸들, 바구니, 기어, 페달, 바퀴
기능(메서드) : 기어 변속, 가속, 브레이크
📌 클래스 제작과 객체 생성
📎 클래스는 멤버 변수(속성), 메서드(기능), 생성자 등으로 구성된다.
public class Grandeur {
//클래스 이름 : 일반적으로 첫 글자는 대문자로 한다.
public String color;
public String gear;
public int price;
// 멤버 변수(속성)
public Grandeur() {
System.out.println("Grandeur constructor");
}
public Grandeur(String c, int p) {
System.out.println("Grandeur constructor");
color = c;
price = p;
}
// 생성자 : 클래스에서 객체를 생성할 때 가장 먼저 호출된다.
public String run() {
System.out.println("--run--");
return "Hello";
}
// 메서드(기능), 반환값 Stirng
public void stop() {
System.out.println("--stop--");
}
// 메서드(기능)
}
📎 객체 생성 : 클래스로부터 'new'를 이용해 객체 생성
Grandeur myCar1 = new Grandeur();
myCar1.color = "red";
myCar1.gear = "auto";
myCar1.price = 30000000;
myCar1.run();
myCar1.stop();
myCar1.info();
📌 메서드
오버로딩 (중복 메서드)
이름은 같고, 매개변수의 개수 또는 타입이 다른 메서드를 만들 수 있다.
접근자
private : 외부에선 사용할 수 없고 객체 내에선 사용할 수 있다.
public : 외부에서도 호출 가능.
Author And Source
이 문제에 관하여(Java TIL(2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yulhee741/Java-TIL2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)