0415 μžλ°” 5일차 πŸ• 클래슀(CLASS), λ©”μ†Œλ“œ(METHOD)

λ‹€ 은·2024λ…„ 4μ›” 15일

JAVA

λͺ©λ‘ 보기
7/14

1. 클래슀(CLASS)

μžλ°”λŠ” 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°(OOP, Object-Oriented Programming)μ–Έμ–΄λ‘œ, 객체 μ§€ν–₯μ΄λž€ 말 κ·ΈλŒ€λ‘œ μ‹€μ‘΄ν•˜λŠ” 객체λ₯Ό μ€‘μ‹¬μœΌλ‘œ ν”„λ‘œκ·Έλž¨μ„ κ΅¬μ„±ν•˜λŠ” 것을 λ§ν•œλ‹€. 객체λ₯Ό λ§Œλ“€μ–΄μ„œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” 객체λ₯Ό μ œμž‘ν•˜λŠ” μ„€λͺ…μ„œ, 즉 클래슀(CLASS)λ₯Ό λ§Œλ“€μ–΄μ•Ό ν•œλ‹€. 클래슀λ₯Ό λ§Œλ“€μ–΄μ•Ό μ–΄λ–€ 객체λ₯Ό λ§Œλ“€μ§€, μ–΄λ–»κ²Œ λ§Œλ“€μ§€ μƒκ°ν•˜κ³  ν”„λ‘œκ·Έλž˜λ°μ„ ν•  수 μžˆλ‹€.

πŸ‘½ 클래슀 μ„ μ–Έ

class 클래슀λͺ… {		ex) class Car {
							
}						}

클래슀λ₯Ό μ„ μ–Έν•  λ•Œμ—λŠ” λ³€μˆ˜ 생성과 λ˜‘κ°™μ€ κ·œμΉ™μ„ μ μš©ν•˜μ—¬ 이름을 λΆ™μ—¬μ£Όλ©΄ λœλ‹€.

클래슀λͺ… 객체λͺ…;		ex) Car c;

객체λ₯Ό μ„ μ–Έν•  λ•Œμ—λŠ” 클래슀 λ°–μ—μ„œ μ‚¬μš©ν•˜λŠ”λ°, κ·Έ ν˜•νƒœκ°€ 마치 클래슀λͺ…이 λ³€μˆ˜ μ„ μ–Έ ν•  λ•Œμ˜ λ°μ΄ν„°ν˜•μ²˜λŸΌ 쓰인닀. 이 λ•Œ κ°μ²΄λŠ” 객체 λ³€μˆ˜κ°€ λœλ‹€. μ΄λ ‡κ²Œ μ„ μ–Έν•œ 객체 λ³€μˆ˜μ— 객체λ₯Ό μƒμ„±ν•˜μ—¬ λŒ€μž…ν•΄μ£Όλ©΄ μ‚¬μš©ν•  μ€€λΉ„λŠ” 끝났닀.

Car c = new Car();

객체λ₯Ό μƒμ„±ν•˜λŠ” ν‚€μ›Œλ“œλŠ” 'new'이닀. μ •λ¦¬ν•˜μžλ©΄, 클래슀λ₯Ό μ„ μ–Έν•˜κ³ , 생성할 객체λͺ…을 μ„ μ–Έν•˜κ³ , 클래슀λ₯Ό μ‚¬μš©ν•˜μ—¬ 객체λ₯Ό μƒμ„±ν•œλ‹€.

2. λ©”μ†Œλ“œ(METHOD)

λ©”μ†Œλ“œλŠ” μƒμ„±λœ 클래슀 μ•ˆμ—μ„œ 객체의 μ–΄λ– ν•œ κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” μ€‘κ΄„ν˜Έ{ } 블둝을 λ§ν•œλ‹€. λ©”μ†Œλ“œλ₯Ό μ„ μ–Έν•˜κ³  클래슀 λ°–μ—μ„œ λ©”μ†Œλ“œλ₯Ό ν˜ΈμΆœν•˜λ©΄ 블둝 μ•ˆμ— μžˆλŠ” μ½”λ“œλ“€μ΄ 순차적으둜 μ‹€ν–‰λœλ‹€.

public class Main {
    public static void main(String[] args) {
   	클래슀λͺ… κ°μ²΄λ³€μˆ˜ = new 클래슀λͺ…;	// 객체 λ³€μˆ˜ 생성
    κ°μ²΄λ³€μˆ˜.λ©”μ†Œλ“œλͺ…();		// λ©”μ†Œλ“œ μ‚¬μš© - μˆ˜ν–‰ μ½”λ“œ μ‹€ν–‰
    }
}

class 클래슀λͺ… {		// 클래슀 생성
	int 객체1;		// 객체1 μ„ μ–Έ
    void λ©”μ†Œλ“œλͺ…() {		// λ©”μ†Œλ“œ 생성
    	μˆ˜ν–‰ μ½”λ“œ;		// μˆ˜ν–‰ μ½”λ“œ μž‘μ„±
    }
}

πŸ‘½ μ •μˆ˜, 논리, String으둜 κ΅¬μ„±λ˜μ–΄ μžˆλŠ” 객체 생성 ν›„ κ°’ μ €μž₯κ³Ό 좜λ ₯

public class Main {
    public static void main(String[] args) {
        홍길동 person = new 홍길동();

        person.age = 25;
        person.ismarried = false;
        person.name = "길동";

        person.introduce();
    }
}

class 홍길동 {
    int age;    // λ‚˜μ΄ 객체 - μ •μˆ˜
    boolean ismarried;	// κ²°ν˜Όμ—¬λΆ€ 객체 - λ…Όλ¦¬ν˜• 
    String name;	// 이름 객체 - λ¬Έμžμ—΄

    void introduce() {	// introduce() λ©”μ†Œλ“œ 생성
        System.out.println("μ•ˆλ…•ν•˜μ„Έμš”. μ €λŠ” " + age + "μ‚΄, " + name + "μž…λ‹ˆλ‹€!");
    }
}

πŸ‘½ 클래슀 μ‘μš©(μžλ™μ°¨κ°€ λ‹¬λ¦¬λŠ” 클래슀 λ§Œλ“€κΈ°)

public class Main {
    public static void main(String[] args) {
        Car1 c1 = new Car1();		//Car1 클래슀의 객체 생성
        c1.wheel = 4;				// μ—¬λŸ¬ 데이터 νƒ€μž…μ˜ λ³€μˆ˜ 생성 및 μ΄ˆκΈ°ν™”
        c1.window = 4;
        c1.isdrive = true;
        c1.name = "뢀릉이";
        c1.speed = 120;

        Car2 c2 = new Car2();
        c2.wheel = 4;
        c2.window = 4;
        c2.isdrive = false;
        c2.name = "뢀릉이";
        c2.speed = 130;

        Car3 c3 = new Car3();
        c3.wheel = 4;
        c3.window = 4;
        c3.isdrive = false;
        c3.name = "뢀릉이";
        c3.speed = 140;


        c1.carride();		// c1.carride method 호좜
        c2.carride();		// c2.carride method 호좜
        c3.carride();		// c3.carride method 호좜

    }
}

class Car1{
    int wheel;
    int window;
    boolean isdrive;
    String name;
    int speed;

    void carride() {
        if (isdrive == true) {
            for(int i = 1; i <= 3; i++) {
                System.out.println(name + "이(κ°€) μ‹œμ†" + speed + "둜 λ‹¬λ¦¬λŠ” μ€‘μž…λ‹ˆλ‹€. \nμ”½μ”½");
            }
        }
        else {
            System.out.println(name +  "이(κ°€) λ©ˆμΆ°μžˆμŠ΅λ‹ˆλ‹€.");
        }
    }
}
class Car2{
    int wheel;
    int window;
    boolean isdrive;
    String name;
    int speed;

    void carride() {
        if (isdrive == true) {
            for(int i = 1; i <= 3; i++) {
                System.out.println(name + "이(κ°€) μ‹œμ†" + speed + "둜 λ‹¬λ¦¬λŠ” μ€‘μž…λ‹ˆλ‹€. \nμ”½μ”½");
            }
        }
        else {
            System.out.println(name + "이(κ°€) λ©ˆμΆ°μžˆμŠ΅λ‹ˆλ‹€.");
        }
    }
}
class Car3{
    int wheel;
    int window;
    boolean isdrive;
    String name;
    int speed;

    void carride() {
        if (isdrive == true) {
            for(int i = 1; i <= 3; i++) {
                System.out.println(name + "이(κ°€) μ‹œμ†" + speed + "둜 λ‹¬λ¦¬λŠ” μ€‘μž…λ‹ˆλ‹€. \nμ”½μ”½");
            }
        }
        else {
            System.out.println(name + "이(κ°€) λ©ˆμΆ°μžˆμŠ΅λ‹ˆλ‹€.");
        }
    }
}

πŸ‘½ 할인 λŒ€μƒ κ΅¬λ³„ν•˜κΈ°

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        Sale s = new Sale();		// sale 클래슀 생성

        System.out.println("λ‚˜μ΄λ₯Ό μž…λ ₯ν•˜μ„Έμš”.");
        s.age = sc.nextInt();		// λ‚˜μ΄λ₯Ό μž…λ ₯ λ°›κ³ 
        s.sale();					// sale(), boundary() λ©”μ†Œλ“œ 호좜
        s.boundary();
    }
}

class Sale {		// sale 클래슀
    int age;		// λ‚˜μ΄ λ³€μˆ˜ 생성
    void sale(){		// 19μ„Έ μ΄ν•˜, 60μ„Έ μ΄μƒμ˜ μ‚¬λžŒμ€ 할인 λŒ€μƒ
        if (age <= 19 || age >= 60){
            System.out.println("할인 λŒ€μƒμž…λ‹ˆλ‹€.");
        }  else {
            System.out.println("할인 λŒ€μƒμ΄ μ•„λ‹™λ‹ˆλ‹€.");
        }
    }
###     void boundary(){		// 어린이, μ²­μ†Œλ…„, 성인, λ…ΈμΈμœΌλ‘œ λ‚˜λˆ„λŠ” λ©”μ†Œλ“œ
        if(age <= 10) {
            System.out.println("μ–΄λ¦°μ΄μž…λ‹ˆλ‹€.");
        } else if (age <= 19 && age > 10) {
            System.out.println("μ²­μ†Œλ…„μž…λ‹ˆλ‹€.");
        } else if (age < 50 && age >= 20) {
            System.out.println("μ„±μΈμž…λ‹ˆλ‹€.");
        } else {
            System.out.println("λ…ΈμΈμž…λ‹ˆλ‹€.");
        }
    }
}

0개의 λŒ“κΈ€