JAVA 4

시연·2024년 7월 24일
  • c언어에서는 포이터, java는 클래스부터 열심히

2024-07-24

  • 변수 => 데이터 1개 담다
  • 배열 => 데이터 여러개(배열은 여러데이터를 한번에 담기위해)
    : 배열의 장점은
  • 클래스 => 일종의 폴더(타입을 하나 만들기)
    :클래스명은 대문자로(폴더) -> 뉴하고 객체를 받고 펄슨의 타입 클래스명을 써주기(실체화)
  • 클래스 내부에 함수 만들기 가능(명사라고 생각하기)
  • Person.age : 사람의 나이(의로 생각하기)
  • 객체 내부의 정보를 알고 싶을 때에는 this.name !this! 사용하기(전역변수에서 찾기& 지역변수가 있을 때에 사용)

  • class Main {
    public static void main(String[] args) {
    자동차 a자동차 /# 변수명/ = new 자동차(); //# 객체만들기
    a자동차.속도 = 20;

        //b 자동차 객체 만들고 , b 자동차 바퀴 => 4
        자동차 b자동차 = new 자동차();
        b자동차.바퀴 =4;
    }

    }
    class 자동차{ //# 설계도
    int 속도; //# 변수
    int 바퀴;
    }

  • package org.example;

//문제: 자동차 객체 2개ㅡㄹ 만들고 서로 다른 최고속력을 갖게 해라
//각 자동차가 달리다 매서드를 실행하면 '자동차가 최고속력 ??km 으로 달립니다' 출력
// 자동차 3 만들고 해당 자동차가 달리다를 실행하면 300km로 달리게 해주세요
class Main {
public static void main(String[] args) {
Car car1 = new Car();
car1.maxSpeed = 100;
car1.run();

    Car car2= new  Car();
    car2.maxSpeed = 200;
    car2.run();

    Car car3= new  Car();
    car3.maxSpeed = 300;
    car3.run();

}

}
class Car{
int maxSpeed;

void run(){
    System.out.println("자동차가" + this.maxSpeed + "달립니다.");
}

}

  • package org.example;

// 플레이dj => 이름,무기, 직압
// 플1: 홍길동, 칼, 도적
// 플2: 김철수, 활, 궁수
// 플3: 홍길순, 지팡이, 마법사
// 스킬 => 실행=> 000이 000을 이용하여 공격하였습니다
// 각 플레이어가 스킬 1번씩 실행
// 스킬 2=> 실행=> 데미지 ?? 입혔습니다. 데미지 만들기
class Main {
public static void main(String[] args) {
Player player1 = new Player();
player1.name = "홍길동";
player1.weapon = "칼";
player1.ocupp = "도적";
player1.demage = 200;

    player1.skill();
    player1.skill2();



    Player player2 = new Player();
    player2.name = "김철수";
    player2.weapon = "활";
    player2.ocupp = "궁수";
    player2.demage = 50;

    player2.skill();
    player2.skill2();

    Player player3 = new Player();
    player3.name = "홍길순";
    player3.weapon = "지팡이";
    player3.ocupp = "마법사";
    player3.demage = 100;

    player3.skill();
    player3.skill2();


}

}

class Player{

String name;
String weapon;
String ocupp;
int demage;


void skill(){
    System.out.println(this.name+"이 " + this.weapon+"을 이용하여 공격하였습니다.");
}
void skill2() {
    System.out.println("데미지" + this.demage + "입혔습니다.");
}

}

static : 설계도 자체에 변수를 지정해서 누적해서 사용가능하다. (객체안에서, 설계도 안에서 접근 가능),(매서드로 접근하면 설계도 안에서 접근 가능)

  • class Main {
    public static void main(String[] args) {
    계산기.더한결과를화면에출력(10, 20);
    // 출력 => 결과 : 30

        계산기.더한결과를_화면에_출력(50, 20);
        // 출력 => 결과 : 70
    
        계산기.뺀결과를_화면에_출력(50, 20);
        // 출력 => 결과 : 30
    
        계산기.뺀결과를_화면에_출력(5, 2);
        // 출력 => 결과 : 3
    
        계산기.곱한결과를_화면에_출력(5, 2);
        // 출력 => 결과 : 10
    }

    }
    class 계산기{
    static void 더한결과를화면에출력(int a, int b){
    System.out.println(a+b);
    }
    static void 뺀결과를화면에출력(int a, int b){
    System.out.println(a-b);
    }
    static void 곱한결과를화면에출력(int a, int b){
    System.out.println(a*b);
    }

}

return 타입이 없다-> void

-- 5까지 static까지 듣기

0개의 댓글