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 |