상세 컨텐츠

본문 제목

[Java] class, 객체 수업 내용

1 a n G u a g e /JAVA

by 동혼 2019. 7. 6. 19:57

본문

연습 & 개념 정리

 

1

 

main

 

public class ObjectMain {

 

    public static void main(String[] args) {

        String message = new String("hello");

            // 정식 표현  

            // message 를 인스턴스라한다 ( 만들어졌기때문에 )

            // 클래스는 존재하기 전 , new 해서 만들어지는게 인스턴스

        

        String a1="";

        Student 학생1 = new Student("ㅎㅎㅎ"2);        //클래서명은 글자시작이 대문자

 

        Student 학생2 = new Student();

        // 디폴트생성자 = 아무것도 안하고 아무것도 생성 안한 것 

        // 

        

            //호출 && 출력

        //학생1.getName()        //학생1의 Name을 가져온다

        System.out.println( 학생1.getName()  );        // Name 출력        

        //학생1.getNumber()        //학생1의 Number을 가져온다    

        System.out.println( 학생1.getNumber()  );        // Number 출력

 

        System.out.println("-----------");

        //시험 > 성공 

        Student 학생3 = new Student("gds");

        System.out.println( 학생3.getHi()  );

        

        Student 학생4 = new Student();

        System.out.println( 학생4.getHello("4 > 안녕")  );

        System.out.println( 학생1.getHello("학생1 의  안녕")  );

        a1= 학생2.getHello("ddㅇㄴㅇㄴㅇ");

        System.out.println(a1);

        System.out.println ( 학생1.getHello("d") );

        // 값 을 넣어주는 행위, 값을 가져오는 행위 

        

        //////////////

        System.out.println("-----------");

        

        Person 사람1 = new Person();

        System.out.println( 사람1.getName() );

        System.out.println( 사람1.getAge() );

        

        

// 생성할때 세팅하고싶으면 세팅자? 를 걸어준다

        

        

    }

 

}

 

Colored by Color Scripter

 

 

class

public class Student {

 

    private String name ;

    private int number ;

    private String Hi;

    private String hello;

    

    public Student() {        //Student 학생2 = new Student(); 을 위한 것 

//        name ="이름없음";

//        number = -1;

    // 위아래는 같은 표현    

    // 중복시 this 로 가르킬 수 있다

        

        this("이름없음" , -1);

    

    }    //생성사 오버로딩

        //같은이름의 여러 메소드 만드는 것

    

    

//// 생성할때 세팅하고싶으면 세팅자? 를 걸어주는 것

//    public Student(String name1, int number1 ) {

//        name = name1;

//        number = number1;

//    }

//    //////////////////////

    // 위와 아래는 둘다 같은 것

    public Student(String name, int number ) {

        this.name = name;

        this.number = number;

    }

    

    

    public String getName() {

 

        // name = "홍길동";

        return name;

    }

    // String 은 생성후 초기화 하지않으면 null 이 나옴

 

    public int getNumber() {

 

        // number=1;

        return number;

    }

    // 기본 타입은 장소를 가리키고 0 의 값을 가짐 (초기화 안 할 경우)

 

    

//    //////// 학생3

    public Student(String Hi) {    //값을 초기화

        this.Hi = Hi;

    }

    public String getHi() {    //값을 리턴 

        return Hi;

    }

    

    public String getHello(String hello) {    //값을 리턴 

        

        return hello;

    }

    

}

 

 

Colored by Color Scripter

 

 

 

 

2

 

main

import java.util.Scanner;

 

public class GameMain {

 

    public static void main(String[] args) {

 

        Game game = new Game();

        

        Scanner sc = new Scanner(System.in);

        //게임명을 입력받고 그를 출력하는 걸로 바꾸기 

        

        

        game.setTitle("크아"); 

        System.out.println( game.getState() );    //준비중

        

        game.play();        

        System.out.println( game.getState() );    //플레이중...

        

        game.stop();

        System.out.println( game.getState() );    //정지 

 

        game.over();

        System.out.println( game.getState() );    //종료

        

        //값을 설정하고 싶으면 set을 사용 (get 은 값을 불러오는 행위)

        

        //외부에서 값을 지정해주고, 이외로 값이 변경되는건 안좋지만 

        

        System.out.println( game.getTitle() );    // game.setTitle("에서 입력한 값이 나온다"); 

                

    }

 

}

 

 

Colored by Color Scripter

 

class

 

public class Game {

 

    private String play;

    private String title;

    

    public Game(){

        play = "준비중. . . "

        title = "";

    }

    

    public String getState() {

        return play;

    }

    

    public void play() {

        play = "플레이중"

    }

 

    public void stop() {

        play = "\n - - 정 지 - - "

        

    }

    public void over() {

        play = " - - 게임 종료 - - "

        

    }

    public String getTitle() {

        return title ; 

        

    }

 

    public void setTitle(String str) {

        title = str;        

    }

 

}

 

 

 

Colored by Color Scripter

 

 

 

3

main

 

public class FruitSellerMain {

 

    public static void main(String[] args) {

        

        FruitSeller seller = new FruitSeller();

        

 

        System.out.println( seller.getAppleNum()  );    //총 갯수 20개;

        

        int seleNum = seller.saleApple(1000);            // seleNum 는 판매된 개수를 받을 변수

        

        System.out.println( seller.getAppleNum()  );    // 총 갯수 19개;

        

        System.out.println( seleNum );        //판매량  1개 ;

    

        System.out.println( seller.showSaleResult() );    //남은 사과량과 판매수익 출력 

    

    }

 

}

 

 

 

 

Colored by Color Scripter

 

class

 

public class FruitSeller {

    

    // 필드는 변수 선언

    private int My_money;             // 받는 금액

    private int apple_num;         // 사과 개수

    private static final int APPLE_PRICE = 1000;

        // final 이 변수로 붙으면 상수로 작동

        // 상수의 변수명은 대게 대문자로로 작성하여 구분짓는다 

    

//    private int g_apple_num;    // 판매될 사과 갯수    

 

    public FruitSeller() {         // 초깃값

        apple_num = 20;         // 사과 갯수 20개로 시작

    }

 

    public int getAppleNum() {         // 사과갯수 반환 & 출력

 

        return apple_num;

    }

 

    public int saleApple(int money) {         // 사과 판매 & 가격계산

 

        // 받은 금액 과 사과 갯수를 계산하기

        

        int g_apple_num = money / APPLE_PRICE;     // 판매될 사과 갯수

        My_money+=money;

        apple_num -= g_apple_num;

 

        return g_apple_num;

    }

 

    public String showSaleResult() {        //남은 사과량과 판매수익 출력 

        

        String result = "";

        result += "남은 사과  : " + apple_num + " 개\n";

        result += "판매 수익  : " + My_money + "원\n";

 

        return result ;

    }

}

 

 

 

 

 

Colored by Color Scripter

 

 

 

c 언어의 포인터와 구조체를 섞은 느낌이다

왔다갔다 하는게 복잡해 보일 순 있으나 하는 중에는 매우 즐거웠다

 

이는 수업시간에 한 내용을 그대로 올리며

이후 수정+공부 해서 정리본을 올릴 생각이다

 

관련글 더보기

댓글 영역