사이먼's 코딩노트
[Java] 객체지향 프로그램 본문
[객체]
[객체가 필요한 이유]
- 변수에는 오직 값 하나만 넣을 수 있다.
- 프로그래밍을 하다보면 변수에 값을 여러개 넣을 필요가 있을 때가 있다.
- 그래서 고안된 것이 객체이다.
- 객체는 커피 캐리어에 비유할 수 있다.
- 커피 캐리어에는 커피를 여러잔 담을 수 있고, 용도에 따라 종류가 여러가지 있다.
- 프로그래밍을 할 때 상황에 따라 서로 다른 종류의 객체 여러개가 필요하다.
- 객체를 일종의 제품으로 보았을 때 객체를 만들기 위해서는 설계도 즉, 클래스가 필요하다.
- 객체는 너무 커서 변수에 담을 수 없다.
- 클래스로는 객체도 만들 수 있고, 그 객체를 조종할 수 있는 리모콘도 만들 수 있으며 객체 리모콘을 담을 변수도 만들 수 있다.
[배열 객체]
package org.example;
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
public static void main(String[] args) {
int a = 3;
int[] arr = new int[3];
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
int[] arr2 = arr;
arr2[1] = 200;
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr2[1]);
}
}
- arr은 하나의 변수이기 때문에 오직 하나의 값을 넣을 수 있다.
- 객체는 일종의 폴더라고 생각하면 좋다.
- int[] arr = new int[3] 에서 new int[3]이 배열 객체이다.
- 배열 객체의 자료형 type은 필요에 따라 int, double, char, boolean 등이 될 수 있다.
- int[ ] arr = new int[3]; 에서 new int[3]은 하나의 객체이다. new는 객체 생성을 의미하고 해당 배열 객체에는 정수 type으로만 저장이 가능하고 공간이 3개가 있다는 뜻이다.
- 생성된 객체의 개수를 세고 싶을 때는 new의 개수를 보면된다.
- 위 내용을 조금 간단하게 설명하면 변수 arr는 new int[3] 객체와 연결된 리모콘이 있다고 생각하면된다.
- 새로운 변수 arr2에 arr 배열 객체를 넣으면 arr2는 arr와 동일한 배열 객체가 된다.
- 위 코드를 실행했을 때 출력문으로는 arr[0]에 들어간 10, arr[1]에 들어간 20, arr[2]에 들어간 30과 arr2[1]에 들어간 20이 출력된다.
[서로 다른 type의 배열 객체 생성]
package org.example;
// arr1에 [true, true, false]
// arr2에 [3.14, 10.2, 2.5]
// arr3에 [1~10]
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
public static void main(String[] args) {
// 1. 배열 하나씩 생성해서 넣는 방법
boolean[] arr1 = new boolean[3];
arr1[0] = true;
arr1[1] = true;
arr1[2] = false;
System.out.println(arr1[0]);
System.out.println(arr1[1]);
System.out.println(arr1[2]);
// 배열 길이 확인
System.out.println(arr1.length);
// 2. 한 번에 배열 값을 넣는 방법
double[] arr2 = {3.14, 10.2, 2.5};
System.out.println(arr2[0]);
System.out.println(arr2[1]);
System.out.println(arr2[2]);
// 3. 반복문을 사용한 배열 값 넣는 방법
int[] arr3 = new int[10];
for (int i = 0; i < 10; i++) {
arr3[i] = i + 1;
}
for (int i = 0; i < arr3.length; i++) {
System.out.println(arr3[i]);
}
}
}
- 위 코드는 각각 다른 type의 배열 객체를 생성하여 값을 저장하고 출력하는 코드이다.
- 먼저 배열 객체 변수 arr1를 생성하여 각각 배열 공간에 논리값(true와 false)을 저장하는 방법이 제시되어 있다.
- 논리값을 쓰기위해서는 boolean이라는 type을 사용해야한다.
- 두번째로 arr2 객체 생성과 함께 한 번에 값을 넣는 방법이 제시되어 있다.
- 세번째는 배열 객체 변수 arr3를 생성하여 배열의 길이가 길어질 수록 일일이 값을 넣어주기 힘들기 때문에 반복문을 사용하여 값을 넣는 방법이 제시되어 있다.
- 위 코드에서 나오는 length는 길이를 의미하는데 예를 들어 현재 arr1의 배열 공간은 총 3개가 있고 출력문을 통해 arr1.length를 출력해보면 3이라는 숫자가 출력되게 된다.
[변형된 for문]
package org.example;
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
public static void main(String[] args) {
int[] arr = new int[10];
for(int i = 0; i < 10; i++) {
arr[i] += i;
}
System.out.println("== for문 ==");
for(int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("== 변형된 for문 ==");
for(int n : arr) {
System.out.println(n);
}
}
}
- 위 코드는 배열 객체 변수 arr를 생성하고 for문을 통해 각 배열 공간에 값을 넣어주고 for문을 통해 각 배열 공간에 들어간 값을 출력하는 출력문이다.
- 첫번째 for문은 우리가 흔하게 접하는 for문의 형식으로 시작점(int i=0;), 조건부(i<arr.length), 보폭(i++) 3가지로 구분되어 문법이 구성되어있다.
- 두번째 for문은 콜론(:)을 사용하여 다른 조건, 증감보폭 필요없이 문법이 구성되어 있다.
반응형
'Java > Java' 카테고리의 다른 글
[Java] 클래스와 메서드(2) (0) | 2024.02.02 |
---|---|
[Java] 클래스와 메서드(1) (2) | 2024.01.29 |
[Java] 반복문(for, while) (0) | 2024.01.22 |
[Java] 조건문(if, else if, else) (0) | 2024.01.19 |
[Java] 변수 / 연산자 (0) | 2024.01.17 |