알고보면코딩천재

문법 : Class 본문

Java

문법 : Class

알코천 2022. 7. 29. 11:46

 

package ex07;

// 1. 상태(변수)를 만들어야 한다. (위치: 클래스 하위)
class People {
	String name = "홍길동";
	String gender = "남";
	int age = 20;
	int money = 1000;
}

public class OPEx01 {

	public static void main(String[] args) {
		People p = new People();
		People p2 = new People();
		
		System.out.println(p.money);
		System.out.println(p.name);
		System.out.println(p.gender);
		System.out.println(p.age);
		System.out.println("===================");
		System.out.println(p2.money);
		System.out.println(p2.name);
		System.out.println(p2.gender);
		System.out.println(p2.age);
	}

}

 

class 는 설계도라고 보면 된다

 

new를 붙이는 것 = 실체화 (heap에 띄워라)

new 클래스명을 적으면 클래스 이름을 찾아서 static이 안붙어 있는 애들을 찾아서 heap에 넣는다

(static이 붙어 있는 애들은 프로그램 시작전부터 static메모리에 떠있다)

변수앞에 타입은 내가 정한 클래스명을 적는다

p, p2처럼 new로 계속해서 찍어낼 수 있는 게 heap공간

"."- 연결 연산자

heap공간에 있는 건 연결연산자(.)로 찾는다

 

 

1. class는 설계도여서 상태가 필요하다

2. 메모리에 띄울때는 new를 쓰고 heap 메모리에 뜬다

3. 찾을 때는 연결연산자를 사용한다

4. 클래스타입/커스텀타입

 

package ex07;

class Car {
	String color;
	int speed;
	int gear;
	void print() {
		System.out.println("(" + color + ", " + speed + ", " + gear + ")");
	}
}
public class CarTest {

	public static void main(String[] args) {
		Car myCar = new Car();
		myCar.color = "red";
		myCar.speed = 0;
		myCar.gear = 1;
		myCar.print();
		
		Car yourCar = new Car();
		yourCar.color = "blue";
		yourCar.speed = 60;
		yourCar.gear = 3;
		yourCar.print();
	}

}

객체 지향에서는 소프트웨어의 기본 단위가 클래스가 된다. 소프트웨어를 만들어간다고 하는 것은 클래스를 하나씩 추가해나가는 과정이다.

 

클래스 이름의 첫 글자는 일반적으로 대문자로 한다.

 

위의 Car 클래스는 자동차에 관련된 속성과 동작을 묶은 것이다.

'Java' 카테고리의 다른 글

JVM  (0) 2022.07.29
문법 : 메서드  (0) 2022.07.29
java else if  (0) 2022.07.29
java 반복문을 빠져나가는 break  (0) 2022.07.28
java While문  (0) 2022.07.28
Comments