java
Java/Def of Class/클래스정의
MyaZ
2020. 1. 28. 17:44
프로그래밍 = 변수 + 연산자 + 제어문
프로그래밍의 규모가 커짐 → 절차지향 프로그래밍의 필요성
동작위주의 메서드 → 독립단위의 모듈
Class = 변수(명사/상태/특성) + 메서드(동사/기능/행동)
ex)
클래스 몽실
몽실이의 생김새, 특성=변수
몽실이의 동작=메서드
public class Puppy {
// 인스턴스 변수
public String name;
public String leftEye = "왼쪽 눈";
public String rightEye = "오른쪽 눈";
public String mouth = "입";
public String nose = "코";
public String tail = "꼬리";
public String[] legs = new String[4];
// 인스턴스 메서드
public void pretty() {
System.out.println(name+"가 " + tail + "을 흔든다");
}
public void eat() {
System.out.println(name+"가 " + nose + "을 킁킁 거린다");
System.out.println(name+"가 " + mouth + "을 벌려서 먹는다");
}
public void sleep() {
System.out.println(name+"가 " + leftEye + "을 감는다");
System.out.println(name+"가 " + rightEye + "을 감는다");
}
// main의 역할은 "프로그램의 시작"
// 다만 Puppy객체가 만들어져 있지 않아도 무조건 메모리에 로딩되어야 하므로
// main에 static 키워드를 붙여서 시스템이 실행되면 무조건 메모리로
main메서드를 올리게 된다.
// static이 아닌 일반 메서드는 해당 객체가 생성될 때
// 메모리에 로딩되게 된다.
public static void main(String[] args) {
Puppy mongsil = new Puppy();
mongsil.name = "몽실이";
Puppy baekgu = new Puppy();
baekgu.name = "백구";
mongsil.pretty();
baekgu.pretty();
}
}