gwooden_코린이
java_객체지향 클래스_221124(4일차) 본문
- 배열 사용 이유?
하나의 변수안에 여러개 변수를 넣을 수 있어서
그리고 정수만 넣을 수 있는 한계
- 클래스
클래스를 사용하면 다양한 변수유형을 넣어서 사용할 수 있다.
다양한 명령어를 만들어서 끄집어 사용할 수 있다.
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로 설정해서 문자열 또는 실수 등을 반환 시킬 수 없다.
}
}
'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 |