231214 JAVA CM01

2023. 12. 14. 21:002023.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