Java

클래스의 선언 및 호출방식

krvision 2011. 11. 29. 20:20
// 클래스 : 하나의 이름으로 서로 다른 타입의 데이터를 여러개 보관 + 기능(메서드) 포함
// ClassDemo.java
public class ClassDemo {
//메서드 : 엔트리 포인트 => 프로그램의 시작점
	public static void main(String[] args) {
		hi(); // [1] 같은 클래스의 메서드 호출
		      // [2] 메서드에 static이 붙었을때
		OtherClass.hello();  //클래스명.메서드
		
		     // [3] 인스턴스 접근
		     // OtherClass의 인스턴스(객체) 생성 : new 연산자를 사용 객체 생성후 접근 가능
		OtherClass oc = new OtherClass();
		oc.bye();
		
		     // Person 클래스의 인스턴스 생성
		Person p1 = new Person();
		p1.name = "홍길동";
		p1.age = 21;
		p1.gender = 'M';
		p1.printName();
		
		Person p2 = new Person();
		p2.name = "백두산";
		p2.age = 100;
		p2.gender = 'F';
		p2.printName();
		
	}
	private static void hi()
	{
		System.out.println("안녕하세요");
	}
}
// OtherClass.java
public class OtherClass {
	
	// 정적인 접근 : 멤버 메서드에 static을 붙이면 : 클래스명.멤버명
	public static void hello(){
		System.out.println("반갑습니다.");
	}
	
	// 인스턴스 접근 : static을 빼면 : 클래스의 인스턴스(객체) 생성 후 호출
	public void bye(){
		System.out.println("또 만나요~~bye");
	}
}
// Person.java 
public class Person {
	//멤버변수(필드) 
	public String name;
	public int age;
	public char gender;  //  F / M
	
	public void printName()  
	{
		System.out.println("이름 :"+ name);
		System.out.println("나이 :"+ age);
		String gen = "여자";
		if (gender == 'M'){
			gen = "남자";
		}
		System.out.println("성별 :"+gen );
	}
}