gwooden_코린이

java_객체지향 클래스_221124(4일차) 본문

java/4일차

java_객체지향 클래스_221124(4일차)

gwooden22 2022. 11. 24. 16:39
728x90

- 배열 사용 이유?

 

하나의 변수안에 여러개 변수를 넣을 수 있어서

그리고 정수만 넣을 수 있는 한계

 

- 클래스

클래스를 사용하면 다양한 변수유형을 넣어서 사용할 수 있다.

다양한 명령어를 만들어서 끄집어 사용할 수 있다.

 

 

Main문을 제외하고는 다른 class를 생성 할때는 퍼블릭 스테틱 메인 완성형 기능을 체크해제하고 서브 클래스를 생성해야 된다.


- 메인 클래스 1-1

 

package 클래스;

 

public class Main {

 

        public static void main(String[] args) {

              

               // cat이라는 새로운 객체를 사용하겠다. 자료는 Animal에서~

 

               //cat -> 객체명 또는 인스턴스라고 부를 수 있음

               //cat -> animal의 객체 / 인스턴드들 -> cat, dog

 

               //Animal 대한 새로운 객체를 만든다

              

             

               cat.name = "나비";

               cat.age = 10;

               dog.name = "밤비";

               dog.age = 3;

              

               //Animal 클래스에 name라는 것을 가져와 사용

               //.name이라는 직접 만든 객체를 사용 있게 된다.

              

               System.out.println(" 이름 : " + cat.name + ", " + " 나이 : " + cat.age);

               System.out.println(" 이름 : " + dog.name + ", " + " 나이 : " + dog.age);

              

              

        }

 

}


- 서브 클래스 1-2

package 클래스;

 

public class Animal {

       

        String name;

        int age;

 

}

 


메소드 - method class 내부에 정의된건 메소드라 부른다,

(자바)

 

함수 - class 대한 개념이 없는 곳은 함수라 부른다.

(c++, 파이썬 등)


package 클래스;

 

public class Main {

 

        public static void main(String[] args) {

 

               //해당 클래스(Animal) 대한 객체(cat) 있느 메소드((ex .setName()) 불러와라

               Animal cat = new Animal();

               Animal dog = new Animal();

 

               //서브 animal 클래스에서 cat 저장된 메소드를 호출하여 설정된 메소드를 불러온다.

               //cat.setName("재료"); <--- 괄호안에는 재료를 넣어준다.

              

               cat.sayHello(); //출력 되는 값을 변경하려면 animal 서브 class 가서 수정해주면 값이 변경된다.

               //반복적인 작업을 매번 반복하기 귀찮기 때문에 간편화를 목적으로 메소드를 사용

              

               cat.age = 10;

               dog.name = "밤비";

               dog.age = 3;

              

               //Animal 클래스에 name라는 것을 가져와 사용

               //.name이라는 직접 만든 객체를 사용 있게 된다.

              

               System.out.println(" 이름 : " + cat.name + ", "+ " 나이 : " + cat.age);

               System.out.println(" 이름 : " + dog.name + ", " +" 나이 : " + dog.age);

              

              

        }

 

}

 

 


package 클래스;

 

public class Animal {

       

        String name;

        int age;

       

        //public void "메소드 이름 입력" (메소드에 전달 받는 공간)

        //public -> 어디서든 불러올 있음

        //void -> 반환 타입(무엇을 되돌려줄건지)

       

        public void setName(String n) {

              

               name = n;

              

               //내부에서 처리할 작업들 입력

              

        }

 

        public void sayHello() {

               System.out.println("Hello");

        }

       

}


package 클래스;

 

public class Main {

 

        public static void main(String[] args) {

 

               Animal cat = new Animal();

               Animal dog = new Animal();

 

               cat.setName("나비");

              

               cat.age = 10;

               dog.name = "밤비";

               dog.age = 3;

              

               cat.sayHello();

               dog.sayHello();

              

              

              

        }

 

}


package 클래스;

 

public class Animal {

       

        String name;

        int age;

       

        //public void "메소드 이름 입력" (메소드에 전달 받는 공간)

        //public -> 어디서든 불러올 있음

        //void -> 반환 타입(무엇을 되돌려줄건지)

       

        public void setName(String n) {

              

               name = n;

              

               //내부에서 처리할 작업들 입력

              

        }

 

        public void sayHello() {

               System.out.println(name + "안녕하세요");

        }

       

}


package 클래스;

 

public class CarMain {

 

        public static void main(String[] args) {

              

               Car tico = new Car();

 

              

               tico.color = "화이트";

               tico.company = "대우";

               tico.type = "경차";

               tico.name = "티코";

              

               tico.go();

               tico.back();

              

               System.out.println(" : " + tico.color);

               System.out.println("회사 : " + tico.company);

               System.out.println("타입 : " + tico.type);

              

              

        }

 

}


package 클래스;

 

public class Car {

       

        String color;

        String company;

        String type;

        String name;

       

        public void go() {

               System.out.println(name + "전진하다.");

        }

       

        public void back() {

               System.out.println(name + "후진하다.");

        }

       

 

}

 


package 클래스;

 

public class CarMain {

 

        public static void main(String[] args) {

              

               Car tico = new Car();

               Car pride = new Car();

              

               pride.type = "경차";

 

              

               tico.color = "화이트";

               tico.company = "대우";

               tico.type = "경차";

               tico.name = "티코";

              

               if(pride.type == tico.type)

                       System.out.println("타입이 같다");

               else

                       System.out.println("타입이 다르다");

              

               tico.go();

               tico.back();

              

               System.out.println(" : " + tico.color);

               System.out.println("회사 : " + tico.company);

               System.out.println("타입 : " + tico.type);

              

        }

 

}

 


package 클래스;

 

public class Car {

       

        String color;

        String company;

        String type;

        String name;

       

        public void go() {

               System.out.println(name + "전진하다.");

        }

       

        public void back() {

               System.out.println(name + "후진하다.");

        }

       

 

}

 


리턴타입 : void, int, double, char, String

 

접근제한자  리턴타임  메서드이름(매개변수, 매개변수) {

 

       작업할 코드

 

       //리턴타입이 void를 제외한 다른것 -> void는 반환시킬게 없다

       return 반환시킬 값;

 

}

 

package 클래스;

 

public class CalcMain {

 

        public static void main(String[] args) {

              

               Calc calc  = new Calc();

              

               //순차적으로 매개변수를 보내진다.

               //Calc 클래스에 num1 5 들어가고 num2 3 들어간다.

               //그리고 Calc 클래스에서 리턴이 num1 + num2 더하라고 명령하고

               // 실행된 값을 호출한 CalcMain으로 calc.add 보내진다.

               System.out.println(calc.add(5, 3));

              

              

 

        }

 

}


package 클래스;

 

public class Calc {

       

       

        // 정수값을 되돌려

        //int num1 num2 매개변수

        public int add(int num1, int num2) {

              

               //여기서 되돌려주는게 return

              

               return num1 + num2;

 

                      //리턴타입이 위에서 정수인 int로 설정해서 문자열 또는 실수 등을 반환 시킬 수 없다.

              

        }

 

}


 

728x90

'java > 4일차' 카테고리의 다른 글

java_2차원 배열_221124(4일차)  (0) 2022.11.24
java_난수출력_221124(4일차)  (0) 2022.11.24
java_정렬_221124(4일차)  (0) 2022.11.24
java_배열_221124(4일차)  (0) 2022.11.24
Comments