Methods

똘이주인·2021년 5월 18일
0

메서드(Method)

메소드는 프로그램의 구성요소인 클래스의 기능(동작) 입니다.

메서드를 작성하여 사용하는 이유는 중복되는 코드의 반복적인 프로그래밍을 피할 수 있기 때문

public class Animal {
    String name;

    public void setName(String name) { // setName 메소드 추가.
        this.name = name;
    }

    public static void main(String[] args) {
        Animal cat = new Animal();
				cat.setName("boby");  // 메소드 호출
        System.out.println(cat.name); // boby 출력
    }
}
// cat.name = "boby"라는 문장은 객체 cat의 객체변수 name에 "boby"라는 값을 대입

객체 변수는 공유되지 않는다
//main메소드 변경
public static void main(String[] args) {
		Animal cat = new Animal();
		cat.setName("boby");

		Animal dog = new Animal();
    dog.setName("happy");

		System.out.println(cat.name); // boby 출력
    System.out.println(dog.name); // happy 출력
}
// 결과를 보면 name 객체 변수는 공유되지 않는다는 것을 확인

다양한 형태의 메서드

매개변수도 없고 리턴하는 것도 없는 형태의 메서드

  • 리턴하는 것이 없을 경우 void라고 작성합니다.
public class MyClass{
        public void method1(){
            System.out.println("method1이 실행됩니다.");
        }
    }

정수를 받아들인 후, 리턴하지 않는 메서드

  • 받아들이는 값은 어떤 타입이라도 상관없다.
  • 받아 들이는 값의 수는 여러개 일 수 있다. 여러개을 경우 콤마(,)로 구분한다.
public class MyClass{       
        public void method2(int x){
            System.out.println(x + " 를 이용하는 method2입니다.");
        }
}

아무것도 받아들이지 않고, 정수를 반환하는 메서드

  • 리턴하는 값 앞에 return 이라는 키워드를 사용한다.
  • 메소드 이름 앞에는 리턴하는 타입을 적어준다.
  • 리턴타입은 하나만 사용할 수 있다. 리턴하는 타입은 어떤 타입이라도 상관없다.
public int method3(){
        System.out.println("method3이 실행됩니다.");

        return 10;
    }
    //위 메소드가 실행되면, 콘솔에 'method3이 실행됩니다.' 를 출력하고,
		//이 메소드를 호출한 쪽에 10을 리턴한다.

정수를 2개 매개변수로 받고, 아무것도 반환하지 않는 메서드

public void method4(int x, int y){
        System.out.println(x + "," + y + " 를 이용하는 method4입니다.");
    }

정수를 한개 받아들인 후, 정수를 반환하는 메서드

public int method5(int y){
        System.out.println(y + " 를 이용하는 method5입니다.");
        return 5;
    }

String클래스의 메소드

String 인스턴스는 한 번 생성되면 그 값을 읽기만 할 수 있고, 변경할 수는 없다.

이러한 객체를 자바에서는 불변 객체(immutable object)라고 한다.

즉, 자바에서 덧셈(+) 연산자를 이용하여 문자열 결합을 수행하면, 기존 문자열의 내용이 변경되는 것이 아니라 내용이 합쳐진 새로운 String 인스턴스가 생성되는 것

  • String Class가 제공하는 메소드

    String 클래스의 메소드는 매우 다양하며, 그중에서 많이 사용되는 메소드 하단 이미지 참조

0개의 댓글