2023. 12. 14. 21:00ㆍ2023.11.21-2024.05.31
package dec14;
import java.util.Arrays;
class Cat {
// 속성 : 변수
String name;// 초기화 안해요=초기화 안해도 쓸 수 있다.
int aggressive = 10;
int run = 50;
필드 : 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳.(데이터를 저장하는 곳)
선언 형태는 변수와 비슷하다. (변수는 아님)
필드는 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재한다.
// 생성자 : 인스턴스를 생성할때 사용하는 메소드
public Cat(String name) {
this.name = name;
생성자 : new 연산자로 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당하는 특별한 중활호 {} 블록.
필드를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 한다.
클래스 이름으로 되어 있고 리턴 타입이 없다.
객체 초기화 : 필드를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 하는 것.
생성자를 실행하지 않고는 클래스로부터 객체를 만들 수 없다.
생성자를 하나 이상 가질 수 있다.
기본생성장 : [public] 클래스() { }
Car myCar = new Car();
// 기능 : 메소드
public void stroke(int count) {
if (aggressive > 10) {
System.out.println("공격력이" + aggressive + "입니다.");
System.out.println("당신의 손을 할큅니다.");
} else {
System.out.println(count + "회 만졌습니다.");
System.out.println("공격력이 1 올라갑니다.");
System.out.println("공격력 :" + aggressive++);
}
}
public void run(int count) {
if (run > 50) {
System.out.println("회피력이" + run + "입니다");
System.err.println("기염둥이가 도망갑니다. 안돼~");
} else {
System.out.println(count + "회 만졌습니다");
System.out.println("회피력이 1 올라갑니다 ");
System.out.println("회피력 :" + run++);
}
}
public int sleep() {
System.out.println(name + "(이)가 잠을 잡니다.");
// null(이)가 잠을 잡니다. ->초기화 하지 않아도 사용할 수 있다
return this.name.length();
}
public int add(int num1, int num2) {
int num3 = num1+num2;
return num3;
}
}
메소드 : 객체의 동작에 해당하는 중괄호 {} 블록, 객체 간의 데이터를 전달하는 수단.
메소드를 호출하게 되면 중괄호 블록에 있는 모든 코드들이 일괄적으로 실행.
public class CM01 {
public static void main(String[] args) {
Cat cat1 = new Cat("ar");
Cat cat2 = new Cat("dr");
Cat cat3 = new Cat("mr");
Cat cat4 = new Cat("hr");
Cat cats[] = new Cat[4];
cats[0] = cat1;
cats[1] = cat2;
cats[2] = cat3;
cats[3] = cat4;
for (Cat c : cats) {
c.sleep();
}
for (int i = 0; i < 50; i++) {
cat1.stroke(10);
}
for (int i = 0; i < 30; i++) {
cat1.run(10);
}
cat1.run(5);
cat1.stroke(1);
System.out.println(cat1.aggressive = 50);
cat1.sleep();
int length = cat1.sleep();
System.out.println(length);
int result =cat4.add(10, 20);// 호출할 때는 파라미터 수, 순서, 타입에 맞게....
System.out.println(result);
}
}
클래스 :메모리에서 사용하고 싶은 객체가 있다면 우선 설계도로 해당 객체를 만드는 작업이 필요한데, 여기서 설계도가 클래스 이다.
객체를 생성하기 위한 필드와 메소드가 정의되어 있다.
인스턴스 : 클래스로부터 만들어진 객체
클래스 선언 : 하나 이상의 문자로 이루어져야한다.
첫 글자에는 숫자가 올 수 없다.
'$',' _' 외 특수 문자는 사용할 수 없다.
자바 키워드는 사용할 수 없다.
객체 생성 : new 클래스();
'2023.11.21-2024.05.31' 카테고리의 다른 글
231214 JAVA OOP2 (0) | 2023.12.15 |
---|---|
231214 JAVA OOP1 (0) | 2023.12.15 |
231214 JAVA -HelloWorld (0) | 2023.12.14 |
231214 JAVA CM01(쌤이 한 것 과 같은 내용) (0) | 2023.12.14 |
231214 JAVA 수업 중 객체지향 쌤이 한것 (0) | 2023.12.14 |