본문 바로가기

Language/Java 기본

클래스와 객체

public static void main의 main도 메서드이다.

main 은 jvm이 동작할때 가장 먼저 호출하게되는 메서드이다.

 

public class 클래스명

 

자료형 필드명1

자료형 필드명2 // 객체의 속성

 

 

반환형 메소드1{}

반환현 메소드2{} //  객체의 기능

 

 

 

객체 생성

 

public class 클래스명

...

 

 

 

package oop;

public class People {
// 1. 필드(속성,, 특성,, 데이터)
// 2. 메소드(기능, 행위, 행동)
	int humanAddress;
	char sex;
	int age;
	float weight;
	String name;

	int leg = 2;

	public void walk() {
		System.out.println(leg + "개의 다리로 걷는다."); // leg의 개수 출력 후, 걷는다..
	}

	public float exercise(int move) {

		return weight - move;
	}

	public void brathe() {
		System.out.println("huhu");
	}

	public void sleep() {
		System.out.println("zzz");
	}

	public float eat(int weight) { // 매개변수로 받아온 weight 랑 하위 weight가 같은 취급되니
									// 변수명을 바꿀 수도 있고, this로 명시해서, 현재 클래스의 weight 변수를 받아올 수 있다.
		return this.weight + weight;
	}

}

 

package oop;

public class Main {
public static void main(String[] args) {
	
// People 설계도를  기반으로 객체를 생성
	//설계도 이름 불러오기.
	People Stalin = new People();  // Staliyn 은 레퍼런스 변수. , new로 레퍼런스 변수 생성.., 클래스의 인스턴스화임..[쓸 수 있게 선언하는 것]]
//현재 필드에는 모두 비어있음..
	
	//Staliyn.brathe(); // 소괄호가 존재하면 메서드, 없고 자료형이 같이 있으면 속성임.
	// People 클래스 내에 선언한 메서드들을  레퍼런스 변수에  점을 찍어 호출할 수 있다.
System.out.println(Stalin.age); // 필드가 비어있기 때문에 0으로 출력됨
Stalin.age = 17;
System.out.println(Stalin.age); // 위에서 3으로 선언하였으므로, 3으로 출력됨
Stalin.name = "스탈린";
Stalin.sex = '여';
Stalin.weight = 72.3f;
Stalin.humanAddress = 390404;
System.out.printf("%s의 나이는 %d, 성별은 %c, 몸무게는 %.1f 입니다..",Stalin.name, Stalin.age, Stalin.sex, Stalin.weight);
System.out.printf("\n주민등록번호 앞자리는 %d 입니다..", Stalin.humanAddress);
}
}

 

 

 

은행의 계좌이체 및 조회기능을 담당하는 클래스를 구성하였다.

여기서 bankbook 클래스의 money는 하위 메서드들의 this.money이고, 

int money는 bankmain 으로부터 받는 패러미터 (deposit(5000);) 으로부터 받는 money를 명시한 것이다.

이 부분은 bankbook 클래스에 쓰여도 상관없다. 그렇게 하면

this.money = + money 와 같은식으로 쓸 수 있다.

/

따라서 다음과 같이 고칠 수 있다.

 

 

'Language > Java 기본' 카테고리의 다른 글

메서드 오버로딩(Overloading)  (0) 2021.01.08
메서드 2  (0) 2021.01.08
객체 지향프로그래밍 (Object Oriented Programming)  (0) 2021.01.07
메서드  (0) 2021.01.07
배열의 사용  (0) 2021.01.05