๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

TIL/Java

๐Ÿ“š 1/22(์›”) ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ Java-Spring 21์ผ์ฐจ TIL - java ํด๋ž˜์Šค(4)

๐Ÿ“ ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ

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

 

 

 

 

๐Ÿ“ ๊ฐ์ฒด์˜ ์†์„ฑ(ํ•„๋“œ)

  ํ•„๋“œ๋Š” ๊ฐ์ฒด์˜ ๊ณ ์œ  ๋ฐ์ดํ„ฐ, ๋ถ€ํ’ˆ ๊ฐ์ฒด, ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณณ์ด๋‹ค. ์„ ์–ธ ํ˜•ํƒœ๋Š” ๋ณ€์ˆ˜(Variable)์™€ ๋น„์Šทํ•˜์ง€๋งŒ, ํ•„๋“œ๋ฅผ ๋ณ€์ˆ˜๋ผ๊ณ  ๋ถ€๋ฅด์ง€ ์•Š๋Š”๋‹ค. ๋ณ€์ˆ˜๋Š” ์ƒ์„ฑ์ž์™€ ๋ฉ”์†Œ๋“œ ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๊ณ  ์ƒ์„ฑ์ž์™€ ๋ฉ”์†Œ๋“œ๊ฐ€ ์‹คํ–‰ ์ข…๋ฃŒ๋˜๋ฉด ์ž๋™ ์†Œ๋ฉธ๋œ๋‹ค. ํ•˜์ง€๋งŒ ํ•„๋“œ๋Š” ์ƒ์„ฑ์ž์™€ ๋ฉ”์†Œ๋“œ ์ „์ฒด์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ ๊ฐ์ฒด๊ฐ€ ์†Œ๋ฉธ๋˜์ง€ ์•Š๋Š” ํ•œ ๊ฐ์ฒด์™€ ํ•จ๊ป˜ ์กด์žฌํ•œ๋‹ค.

 

 

 

 

 

 

๐Ÿ“ ์ž๋™์ฐจ ํด๋ž˜์Šค ๋งŒ๋“ค๊ธฐ

  - ํƒ€์ด์–ด ํด๋ž˜์Šค

public class Tire {
    public Tire() {}
}

 

 

 

- ์ฐจ๋ฌธ ํด๋ž˜์Šค

public class Tire {
    public Tire() {}
}

 

 

 

  - ํ•ธ๋“ค ํด๋ž˜์Šค

public class Handle {
    public Handle() {}
}

 

 

  - ์ž๋™์ฐจ ํด๋ž˜์Šค

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;

    public Car() {} // ๊ธฐ๋ณธ ์ƒ์„ฑ์ž

    double gasPedal(double kmh) {
        speed = kmh;
        return speed;
    }

    double brakePedal() {
        speed = 0;
        return speed;
    }

    char changeGear(char type) {
        gear = type;
        return gear;
    }

    boolean onOffLights() {
        lights = !lights;
        return lights;
    }

		void horn() {
		    System.out.println("๋นต๋นต");
		}
}

 

 

 

 

 

 

๐Ÿ“ ํ•„๋“œ ์„ ์–ธ

  ํ•„๋“œ ์„ ์–ธ์€ ํด๋ž˜์Šค ์ค‘๊ด„ํ˜ธ { } ๋ธ”๋ก ์–ด๋””์„œ๋“  ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒ์„ฑ์ž ์„ ์–ธ๊ณผ ๋ฉ”์†Œ๋“œ ์„ ์–ธ์˜ ์•ž๊ณผ ๋’ค ์–ด๋–ค ๊ณณ์—์„œ๋„ ํ•„๋“œ ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์ƒ์„ฑ์ž์™€ ๋ฉ”์†Œ๋“œ ์ค‘๊ด„ํ˜ธ ๋ธ”๋ก ๋‚ด๋ถ€์—๋Š” ์„ ์–ธ๋  ์ˆ˜ ์—†๋‹ค. ํ•„๋“œ์˜ ์„ ์–ธ์€ ๋ณ€์ˆ˜์˜ ์„ ์–ธ ํ˜•ํƒœ์™€ ๋น„์Šทํ•˜๋‹ค. 

public class Car {
		String company; // ์ž๋™์ฐจ ํšŒ์‚ฌ
    String model; // ์ž๋™์ฐจ ๋ชจ๋ธ
    String color; // ์ž๋™์ฐจ ์ƒ‰์ƒ
    double price; // ์ž๋™์ฐจ ๊ฐ€๊ฒฉ
    double speed;  // ์ž๋™์ฐจ ์†๋„ , km/h
    char gear; // ๊ธฐ์–ด์˜ ์ƒํƒœ, P,R,N,D
    boolean lights; // ์ž๋™์ฐจ ์กฐ๋ช…์˜ ์ƒํƒœ
}

 

 

 

 

 

 

๐Ÿ“ ํ•„๋“œ ํƒ€์ž…๋ณ„ ๊ธฐ๋ณธ ์ดˆ๊ธฐ๊ฐ’

  ์šฐ๋ฆฌ๊ฐ€ ์ •์˜ํ•˜์—ฌ ์„ ์–ธํ•œ ํด๋ž˜์Šค์˜ ํ•„๋“œ๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ดˆ๊ธฐ๊ฐ’์„ ์ œ๊ณตํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์ž๋™์œผ๋กœ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋œ๋‹ค.

๋ถ„๋ฅ˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ดˆ๊ธฐ๊ฐ’
๊ธฐ๋ณธ ํƒ€์ž… ์ •์ˆ˜ ํƒ€์ž… byte 0
char \u0000 (๋นˆ ๊ณต๋ฐฑ)
short 0
int 0
short 0L
์‹ค์ˆ˜ ํƒ€์ž… float 0.0F
double 0.0
๋…ผ๋ฆฌ ํƒ€์ž… boolean false
์ฐธ์กฐ ํƒ€์ž… ๋ฐฐ์—ด null
ํด๋ž˜์Šค(Stringa ํฌํ•จ) null
์ธํ„ฐํŽ˜์ด์Šค null

 

 

 

 

 

 

๐Ÿ“ ํ•„๋“œ์˜ ์‚ฌ์šฉ

  ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์€ ํ•„๋“œ๊ฐ’์„ ์ฝ๊ณ , ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์„ ๋งํ•œ๋‹ค. ํด๋ž˜์Šค ๋‚ด๋ถ€์˜ ์ƒ์„ฑ์ž๋‚˜ ๋ฉ”์†Œ๋“œ์—์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋‹จ์ˆœํžˆ ํ•„๋“œ ์ด๋ฆ„์œผ๋กœ ์ฝ๊ณ  ๋ณ€๊ฒฝํ•˜๋ฉด ๋˜์ง€๋งŒ, ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์šฐ์„ ์ ์œผ๋กœ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ ๋’ค ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. ๊ทธ ์ด์œ ๋Š” ํ•„๋“œ๋Š” ๊ฐ์ฒด์— ์†Œ์†๋œ ๋ฐ์ดํ„ฐ์ด๋ฏ€๋กœ ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ํ•„๋“œ๋„ ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

// ์™ธ๋ถ€ ํด๋ž˜์Šค์—์„œ Car์˜ ํ•„๋“œ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Car๊ฐ์ฒด๋ฅผ ์šฐ์„  ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค.
Car car = new Car();

// ๊ฐ์ฒด ๋‚ด๋ถ€ ํ•„๋“œ์— ์ ‘๊ทผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋„ํŠธ(.) ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
car.color = "blue";


// main ๋ฉ”์†Œ๋“œ์—์„œ ํ…Œ์ŠคํŠธํ•ด๋ณด์ž.
public class Main {
    public static void main(String[] args) {
        Car car = new Car(); // ๊ฐ์ฒด ์ƒ์„ฑ

        // ์ดˆ๊ธฐ๊ฐ’๊ณผ ๊ธฐ๋ณธ๊ฐ’ ํ™•์ธํ•˜๊ธฐ

        System.out.println("car.model = " + car.model); // ์ดˆ๊ธฐ๊ฐ’ "Gv80"์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
        System.out.println("car.color = " + car.color); // ๊ธฐ๋ณธ๊ฐ’ null์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
        System.out.println();

        System.out.println("car.speed = " + car.speed); // ๊ธฐ๋ณธ๊ฐ’ 0.0์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
        System.out.println("car.gear = " + car.gear);  // ๊ธฐ๋ณธ๊ฐ’ \u0000(๊ณต๋ฐฑ)์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
        System.out.println("car.lights = " + car.lights); // ์ดˆ๊ธฐ๊ฐ’ true๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
        System.out.println();

        System.out.println("car.tire = " + car.tire); // ์ดˆ๊ธฐ๊ฐ’ ์ธ์Šคํ„ด์Šค์˜ ์ฃผ์†Œ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
        System.out.println("car.door = " + car.door); // ๊ธฐ๋ณธ๊ฐ’ null์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
        System.out.println();

        // ํ•„๋“œ ์‚ฌ์šฉ

        car.color = "blue"; // ํ•„๋“œ color์— "blue" ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
        car.speed = 100;    // ํ•„๋“œ speed์— 100 ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
        car.lights = false; // ํ•„๋“œ lights์— false ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

        System.out.println("car.color = " + car.color); // ์ €์žฅ๋œ "blue" ๋ฐ์ดํ„ฐ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
        System.out.println("car.speed = " + car.speed); // ์ €์žฅ๋œ 100.0 ๋ฐ์ดํ„ฐ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
        System.out.println("car.lights = " + car.lights); // ์ €์žฅ๋œ false ๋ฐ์ดํ„ฐ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

    }
}