๐Ÿ“š TIL 6์ผ์ฐจ

temprmnยท2023๋…„ 5์›” 22์ผ
0
post-thumbnail

์˜ค๋Š˜ ์ฃผ์š” ์‚ฌํ•ญ (5/22, ์›”์š”์ผ)

  1. ์˜ค๋Š˜๋ถ€ํ„ฐ 3์ฃผ๊ฐ„ Java ์–ธ์–ด ํ•™์Šต
  2. 3์ฃผ๊ฐ„ ํ•™์Šต์„ ํ•จ๊ป˜ํ•  ์ƒˆ๋กœ์šด ํŒ€ ํŽธ์„ฑ

๋ฒŒ์จ ์ฃผ๋ง์ด ๋๋‚˜๋‹ค๋‹ˆ... ๋‹ค๋“ค ์ด๋ž˜์„œ ์ฃผ 4์ผ์ œ๋ฅผ ์ฐฌ์„ฑํ•˜๋Š” ๊ฑฐ๊ตฌ๋‚˜

๋‹ค์ฐจ์› ๋ฐฐ์—ด

๋ฐฐ์—ด

Java๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ์„ ์ˆ˜ํ•™์Šตํ–ˆ๋˜ ๊ฒƒ์ด ์žˆ๊ธฐ๋„ ํ•˜๊ณ , ์ด์ „์— ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ์ด๋ฏธ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—..., ๋ชจ๋ฅด๋Š” ๊ฒƒ๋“ค์ด๋‚˜ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฒƒ๋“ค ์œ„์ฃผ๋กœ ํ•™์Šตํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

๋‹ค์ฐจ์› ๋ฐฐ์—ด์€ ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค

int[][] array
int array[][]
int[] array[] // ์˜์™ธ๋กœ ์ด๊ฒƒ๋„ ๊ฐ€๋Šฅ

.length

int[][] array = new int[2][3];

๋ฐฐ์—ด์ด ์œ„์ฒ˜๋Ÿผ ์„ ์–ธ๋˜์—ˆ์„ ๋•Œ, ๊ธธ์ด(length)๋Š” ์•„๋ž˜์ฒ˜๋Ÿผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

array.length // ํ–‰์˜ ๊ธธ์ด = 2
array[i].length // ์—ด์˜ ๊ธธ์ด = 3

์ปฌ๋ ‰์…˜ (Collection)

๋‚ด์šฉ์ด ๊ธธ์–ด์ ธ ๊ธ€์„ ๋”ฐ๋กœ ์ž‘์„ฑํ•˜์—ฌ ์ •๋ฆฌํ–ˆ๋‹ค.

๊ฐœ์š” [Java] Collection

List [Java] Collection - List
Stack & Queue [Java] Collection - Stack & Queue
Set [Java] Collection - Set
Map [Java] Collection - Map

ํด๋ž˜์Šค - ๊ฐ์ฒด ๋ฐฐ์—ด

์ƒ์„ฑ๋œ ํด๋ž˜์Šค ๊ฐ์ฒด๋Š” ๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜ ํ˜•ํƒœ๋กœ๋„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜๋Š” Car ํด๋ž˜์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ์ฒด ๋ฐฐ์—ด์ด๋‹ค.

public static void main(String[] args) {

	// Car ํด๋ž˜์Šค๋ฅผ ๊ด€๋ฆฌํ•  ๊ฐ์ฒด ๋ฐฐ์—ด ์ƒ์„ฑ
	Car[] carArray = new Car[3];
    
    // ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋“ค์–ด๊ฐˆ ์ƒˆ๋กœ์šด ๊ฐ์ฒด
    // ์†์„ฑ๋“ค์„ ์ดˆ๊ธฐํ™” ํ•ด์ค€ ๋‹ค์Œ -> ๊ฐ์ฒด ๋ฐฐ์—ด์— ์ถ”๊ฐ€
	Car car1 = new Car();
	car1.changeGear('P');
   	carArray[0] = car1;

	// ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋“ค์–ด๊ฐˆ 2๋ฒˆ์งธ ๊ฐ์ฒด
	Car car2 = new Car();
	car2.changeGear('N');
	carArray[1] = car2;
        
	// ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋“ค์–ด๊ฐˆ 3๋ฒˆ์งธ ๊ฐ์ฒด
	Car car3 = new Car();
	car3.changeGear('D');
	carArray[2] = car3;

	// for ๋ฌธ์„ ์‚ฌ์šฉํ•ด ์ดˆ๊ธฐํ™”ํ•œ ์†์„ฑ ๊ฐ’์„ ์ถœ๋ ฅ
	for (Car car : carArray) {
		System.out.println("car.gear = " + car.gear);
	}
}

โ†“ ๋งˆ์ง€๋ง‰ for ๋ฌธ ์‹คํ–‰ ๊ฒฐ๊ณผ.

car.gear = P
car.gear = N
car.gear = D

ํด๋ž˜์Šค - ๊ฐ์ฒด์˜ ์†์„ฑ : ํ•„๋“œ

ํ•„๋“œ๋Š” ๊ฐ์ฒด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์—ญํ• . ๊ฐ์ฒด์˜ ํ•„๋“œ๋Š” ํฌ๊ฒŒ ๊ณ ์œ  ๋ฐ์ดํ„ฐ, ์ƒํƒœ ๋ฐ์ดํ„ฐ, ๊ฐ์ฒด ๋ฐ์ดํ„ฐ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•„๋“œ
์˜ˆ๋ฅผ ๋“ค๋ฉด Car ๊ฐ์ฒด๋Š” 4๊ฐœ์˜ ๊ณ ์œ  ๋ฐ์ดํ„ฐ์™€ 3๊ฐœ์˜ ์ƒํƒœ ๋ฐ์ดํ„ฐ, ๊ทธ๋ฆฌ๊ณ  3๊ฐœ์˜ ๊ฐ์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

ํ•„๋“œ๋Š” ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค. (์œ„์˜ ํ‘œ ์ฐธ๊ณ ) ์„ ์–ธํ•œ ํ•„๋“œ๋“ค์€ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์ž๋™์œผ๋กœ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋œ๋‹ค.

public class Car {

	/* ๊ณ ์œ  ๋ฐ์ดํ„ฐ */
    String company; // ์ž๋™์ฐจ ํšŒ์‚ฌ
    String model; 	// ์ž๋™์ฐจ ๋ชจ๋ธ
    String color; 	// ์ž๋™์ฐจ ์ƒ‰์ƒ
    double price; 	// ์ž๋™์ฐจ ๊ฐ€๊ฒฉ

	/* ์ƒํƒœ ๋ฐ์ดํ„ฐ */
    double speed;  	// ์ž๋™์ฐจ ์†๋„ , km/h
    char gear; 		// ๊ธฐ์–ด์˜ ์ƒํƒœ, P,R,N,D
    boolean lights; // ์ž๋™์ฐจ ์กฐ๋ช…์˜ ์ƒํƒœ

	/* ๊ฐ์ฒด ๋ฐ์ดํ„ฐ */
    Tire tire;
    Door door;
    Handle handle;
    
    
    /* ๋ฉ”์„œ๋“œ... */
    
}

ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์€ ํ•„๋“œ์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ฝ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ํ•„๋“œ๋Š” ์„ ์–ธํ–ˆ๋‹ค๊ณ  ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ , ์ธ์Šคํ„ด์Šคํ™”๋ฅผ ๊ฑฐ์ณ์•ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ธ์Šคํ„ด์Šคํ™”๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

ํ•„๋“œ ์™ธ๋ถ€ ์ ‘๊ทผ

// 1. ๊ฐ์ฒด ์ƒ์„ฑ
Car car = new Car();

// 2. ๋„ํŠธ(.) ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด ํ•„๋“œ color์— ์ ‘๊ทผ
car.color = "blue";

ํ•„๋“œ ๋‚ด๋ถ€ ์ ‘๊ทผ

ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์„ ์–ธ๋œ ๋ฉ”์„œ๋“œ๋Š” ํด๋ž˜์Šค์— ์„ ์–ธ๋œ ํ•„๋“œ์— ๋ฐ”๋กœ ํ˜ธ์ถœ ๋ฐ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

double breakPedal() {

	// ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์„ ์–ธ๋œ ํ•„๋“œ์ธ speed์— ์ ‘๊ทผ
    speed = 0;
    return speed;
}

๊ธฐ๋ณธํ˜• & ์ฐธ์กฐํ˜• ๋งค๊ฐœ๋ณ€์ˆ˜

Java๋ฅผ ๊ฐ“ ๋ฐฐ์šฐ๊ธฐ ์‹œ์ž‘ํ–ˆ์„ ์‹œ์ ˆ... ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๊ฐ€, ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ ˆํผ๋Ÿฐ์Šค(&)๋ฅผ ์ „๋‹ฌํ•˜๋ ค๊ณ  ํ•œ ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ (Java์—๋Š” ํฌ์ธํ„ฐ๊ฐ€ ์—†์œผ๋‹ˆ๊นŒ...) ์˜ค๋ฅ˜๊ฐ€ ๋– ์„œ ๋‹นํ™ฉํ•œ ์ ์ด ์žˆ์—ˆ๋‹ค.

๊ทธ ์ƒํƒœ์—์„œ ๋ฐœ๊ฒฌํ•œ ๊ธ€์ด Java๋Š” ์–ธ์ œ๋‚˜ Call By Value๋ผ๋Š” ๊ธ€์ด์—ˆ๋‹ค. ์ด ๊ธ€์„ ์ฝ๊ณ ๋„ ์–ด๋”˜๊ฐ€ ์ฐœ์ฐœํ•จ์ด ๋‚จ์•„์žˆ์—ˆ๋Š”๋ฐ, ์˜ค๋Š˜ ์ด ์ฃผ์ œ๋ฅผ ๋งŒ๋‚˜์„œ ๊ถ๊ธˆ์ฆ์ด ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค. ํ•˜์—ฌํŠผ ์ด๊ฑธ ์ดํ•ดํ•˜๊ณ  ๋๋‚ด๊ณ  ์‹ถ์—ˆ๋‹ค.

[Java] ๊ธฐ๋ณธํ˜• ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ฐธ์กฐํ˜• ๋งค๊ฐœ๋ณ€์ˆ˜

๊ทธ๋Ÿฌ๊ณ ๋ณด๋‹ˆ ํ•™๋ถ€์ƒ ์‹œ์ ˆ์— C++์„ ๊ณต๋ถ€ํ•  ๋•Œ๋„ ๋ ˆํผ๋Ÿฐ์Šค์—์„œ ๊ฐ€์žฅ ๊ณ ์ƒํ–ˆ๋˜ ๊ธฐ์–ต์ด ์žˆ๋‹ค ๐Ÿ˜‚

์žก๋‹ด

์˜ค๋Š˜ ์ƒˆ๋กœ์šด ์ฐจ์‹œ๋ฅผ ๋ฐœ์ œํ–ˆ๊ณ , Java ๊ณต๋ถ€๋ฅผ ๋“ค์–ด๊ฐ€๋ฉด์„œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์บ ํ”„๊ฐ€ ์‹œ์ž‘๋๋‹ค๋Š” ๋Š๋‚Œ! ํ•˜์ง€๋งŒ ์ž์Šต์„ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ธˆ ๋”ฐ๋ถ„ํ•œ ๊ฐ์ด ์žˆ๋‹ค. ๋ญ”๊ฐˆ ํ•ด๋ณด๋ฉด ์ข‹์„๊นŒ? ์‹ถ์–ด์„œ ๋ฌธ๋ฒ•์„ ๋น ๋ฅด๊ฒŒ ๋๋‚ด๊ณ  ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•ด๋ณผ๊นŒ ์‹ถ๊ธฐ๋„ ํ•˜๋‹ค. (์—„์ฒญ ๋ชปํ•˜๋‹ˆ๊นŒ!!)

profile
`ISFJ` T 49% F 51% /

0๊ฐœ์˜ ๋Œ“๊ธ€