Develop/JAVA

JAVA 메서드(선언, 호출, 중복)

roalwh 2023. 10. 21. 18:51

 

//Mainclass.java
//메서드 선언 호출 
public class Mainclass {

	public static void main(String[] args) {
		
		ChildClass child1 = new ChildClass();
		child1.setInfo("홍길동", "M", 15);
		child1.getInfo();
		
		System.out.println();
		ChildClass child2 = new ChildClass();
		
		child2.name = "ddd";
		child2.gender = "F";
		child2.age = 15;
		child2.getInfo();
		
		System.out.println();
		ChildClass getin1 = new ChildClass();
		getin1.getInfo(10, true, 1.11d, 'a', "asd");
		
		System.out.println();
		ChildClass getin2 = new ChildClass();
		getin2.getInfo(10, 30);
		
		System.out.println();
		ChildClass getin3 = new ChildClass();
		getin3.getInfo("asdf","asdf");
		
		// getin3.mySecrete(); -->  접근 못한다고 오류가 나온다.
	}
}
 

 

//ChildClass

public class ChildClass {
	
	public String name;
	public String gender;
	public int age;
	
	public ChildClass() {
		System.out.println("-- ChildClass constructor --");
	}
	
	public void setInfo(String n, String g, int a) {
		System.out.println(" -- getInfo() START -- ");
		name =n;
		gender = g;
		age = a;
	}
	
	public void getInfo() {
		System.out.println(" -- getInfo() START -- ");
		
		System.out.println(" name : " + name);
		System.out.println(" gender : " + gender);
		System.out.println(" age : " + age);
	}
	
	//중복 메서드(overloading)
	/*public void getInfo() */
	//getInfo() --> ()안 매개변수는 필요시에만 정의한다.
	
	public void getInfo(int i, boolean b, double d, char c, String s) {
		//매개변수는 자료형과 변수(지역변수)로 이루어진다.
		System.out.println(" -- getInfo -- I");
		System.out.println(" i = " + i);
		System.out.println(" b = " + b);
		System.out.println(" d = " + d);
		System.out.println(" c = " + c);
		System.out.println(" s = " + s);
		
	}
	
	
	public void getInfo(int x, int y) {
		
		System.out.println(" -- getInfo -- II");
		System.out.printf("parameter --> x : %d, y : %d \n",  x,y);
	}
	
	public void getInfo(String s1, String s2) {
		
		System.out.println(" -- getInfo -- III");
		System.out.printf("parameter --> s1 : %s , s2 : %s \n", s1,s2);
	}


/*메서드를 호출할 때 접근자에 따라서 호출이 불가할 수 있다.
 * 외부에서 호출
 * 메서드 호출부---->public 매서드 호출가능 
 * 메서드 호출부---->private 매서드 호출불가능 
 * 객체(private 메서드 <---->public 매서드 ) 호출가능
 */
	private void mySecrete() {
		System.out.println("--");
	}
	
}
 

결과값

-- ChildClass constructor --
 -- getInfo() START -- 
 -- getInfo() START -- 
 name : 홍길동
 gender : M
 age : 15

-- ChildClass constructor --
 -- getInfo() START -- 
 name : ddd
 gender : F
 age : 15

-- ChildClass constructor --
 -- getInfo -- I
 i = 10
 b = true
 d = 1.11
 c = a
 s = asd

-- ChildClass constructor --
 -- getInfo -- II
parameter --> x : 10, y : 30 

-- ChildClass constructor --
 -- getInfo -- III
parameter --> s1 : asdf , s2 : asdf