Notice
Recent Posts
Recent Comments
Link
컴퓨터는 잘못이 없다..
[JAVA]클래스 메소드 생성하고 사용해보기(메소드만들기, 메소드의 리턴타입, 매개변수 확인하는 법) 본문
Contents
접기
[메소드를 만들 때 고려해야 하는것]
1. 접근 지정자 (public, protected, default, private)
2. static or non static
3. 리턴 type (void 는 어떤 type도 리턴하지 않는다는 의미)
4. 메소드명(영문자 소문자로 시작하고 예약어가 아니면 된다)
5. 메소드에 전달하는 인자의 개수와 데이터 type
[메소드의 return]
메소드를 호출하면 그 값은 return 값으로 바뀐다.
[메소드의 return 타입, 매개변수 확인하는 방법]
-참조값.~을 쳐서 보면 아래와 같은 창이 뜨는데 여기서 리턴타입을 확인할 수 있다.
-매개변수 확인하는 방법
[예제코드]
MyObject.java
package test.mypac;
public class MyObject {
//어떤값도 리턴하지 않는 메소드
public void walk() {
System.out.println("걸음을 걸어요~");
}
//int type을 리턴하는 메소드
public int getNumber() {
//리턴 type을 void가 아닌 다른 type으로 지정했으면 그 type으로 반드시 리턴해줘야한다.
int num=10;
return num; //return을 만나면 값을 return하고 함수를 종료한다.
}
//String type을 리턴하는 메소드
public String getGreeting() {
String greet = "안녕하세요";
return greet;
}
//House 타입을 리턴하는 메소드
public House getHouse() {
House house = new House();
return house;
}
//phone type을 전달받는 메소드
public void usePhone(Phone p) {
p.call();
}
//Phone type을 전달받는 static 메소드
public static void callPhone(Phone p) {
p.call();
}
//House type을 리턴해주는 static 메소드
public static House buyHouse() {
return new House();
}
}
House.java
package test.mypac;
public class House {
public void relax(String name) {
System.out.println(name + "이 편안하게 집에서 쉽니다.");
}
}
Phone.java
package test.mypac;
public class Phone {
public void call() {
System.out.println("전화를 걸어요");
}
}
[다양한 메소드 호출해보기]
MyObject, House, Phone 클래스를 활용하여 메소드를 호출해보자.
MainClass01.java
package test.main;
import test.mypac.MyObject;
public class MainClass01 {
public static void main(String[] args) {
//1. MyObject 객체를 생성해서 참조값을 m1이라는 지역변수에 담아보세요.
MyObject m1 = new MyObject();
//2. m1안에 들어있는 참조값을 이용해서 3개의 메소드를 모두 호출해보세요.
m1.walk();
m1.getNumber();//m1.getNumber()을 호출하면 그 자리는 return값으로 바뀐다.
m1.getGreeting();//m1.getGreeting()을 호출하면 그 자리는 return값으로 바뀐다.
//3. m1안에 들어있는 참조값을 이요해서 getNumber() 메소드를 다시 호출하고
//리턴되는 값을 a라는 이름의 지역변수에 담아보세요.
int a = m1.getNumber();//m1.getNumber()을 호출하면 그 자리는 return값으로 바뀐다.
//4. m1안에 들어있는 참조값을 이용해서 getGreeting() 메소드를 다시 호출하고
//리턴되는 값을 b라는 이름의 지역변수에 담아보세요.
String b = m1.getGreeting();//m1.getGreeting()을 호출하면 그 자리는 return값으로 바뀐다.
}
}
실행결과
걸음을 걸어요~
MainClass02.java
package test.main;
import test.mypac.House;
public class MainClass02 {
public static void main(String[] args) {
//House 클래스를 이용해서 여러분들이 집에서 편안하게 3번 쉬어보세요.
House h1 = new House();
String name = "신지윤";
h1.relax(name);
h1.relax(name);
h1.relax(name);
System.out.println("-------------------------------");
//집에서 100번 쉬어보세요.
for(int i=0; i<100; i++) {
h1.relax(name);
}
}
}
실행결과
신지윤이 편안하게 집에서 쉽니다.
신지윤이 편안하게 집에서 쉽니다.
신지윤이 편안하게 집에서 쉽니다.
-------------------------------
신지윤이 편안하게 집에서 쉽니다.
신지윤이 편안하게 집에서 쉽니다.
.
.
.
생략...
MainClass03.java
package test.main;
import test.mypac.*;
public class MainClass03 {
public static void main(String[] args) {
//MyObject 객체를 생성해서 m1이라는 이름의 지역변수에 대입해보세요.
MyObject m1 = new MyObject();
//m1에 있는 참조값을 이용해서 House 객체의 참조값을 얻어와서 myHome이라는
//이름의 지역변수에 담아보세요.
House myHome = m1.getHouse();
//myHome 안에 있는 참조값을 이용해서 집에서 3번 쉬어보세요.
String name = "김재성";
myHome.relax(name);
myHome.relax(name);
myHome.relax(name);
}
}
실행결과
김재성이 편안하게 집에서 쉽니다.
김재성이 편안하게 집에서 쉽니다.
김재성이 편안하게 집에서 쉽니다.
MainClass04.java
package test.main;
import test.mypac.*;
public class MainClass04 {
public static void main(String[] args) {
//MyObject 클래스에 있는 usePhone() 메소드를 호출해보세요.
//방법1 : 객체 생성 후 전달하기
MyObject m1 = new MyObject();
Phone p1 = new Phone(); //객체 생성 후
m1.usePhone(p1); //전달하기
//방법2 : 객체 생성하면서 전달하기
MyObject m2 = new MyObject();
m2.usePhone(new Phone()); //객체 생성하면서 전달하기
//방법3 : 한줄로 써보기
//객체를 일회용으로 쓸거라면(한번 쓰고 말거라면) 이런식으로 쓰는것도 가능하다.
new MyObject().usePhone(new Phone());
}
}
실행결과
전화를 걸어요
전화를 걸어요
전화를 걸어요
MainClass05.java
package test.main;
import test.mypac.*;
public class MainClass05 {
public static void main(String[] args) {
//1. MyObject 클래스의 callPhone() 메소드를 호출해보세요.
MyObject.callPhone(new Phone());
//2. MyObject 클래스의 buyHouse() 메소드를 호출하고
//리턴되는 참조값을 myHome 이라는 이름의 지역변수에 담아보세요
House myHome = MyObject.buyHouse();
}
}
실행결과
전화를 걸어요
'공부 > JAVA' 카테고리의 다른 글
[JAVA]Wrapper Class(API문서로 이동하는 방법,parseInt(),parseDouble(),toString()) (0) | 2020.11.28 |
---|---|
[JAVA]퀴즈3_객체가 매개변수인 생성자 사용해보기 (0) | 2020.11.28 |
[JAVA]퀴즈2_static자원,non-static자원 사용해보기 (0) | 2020.11.28 |
Comments