Cracking Code

[Java] Method (메소드) 본문

Java/Java language

[Java] Method (메소드)

CrackCo 2020. 8. 5. 20:01
자바 클래스에는 속성을 갖고 있는 멤버 변수와 기능을 수행하는 메소드를 가지고 있습니다.
메소드는 어떤 기능을 수행하기 위한 명령문의 집합이라고 할 수 있습니다.

메소드

일반적인 메소드의 작성 목적은 반복적인 프로그램 로직을 간추려 정의함으로써

코드의 가독성 향상과 해당 기능을 간편하게 수행, 유지보수하는 것에 있습니다.

 

메소드 정의

다른 언어(C, C++ 등)의 함수와 비슷하게 메소드를 정의할 수 있습니다.

접근제어자 데이터_타입 메소드_이름(인자 변수들) {
    명령문...;
}

접근제어자: private, public 등

데이터 타입: int, String, double, void 등

메소드 이름: 메소드를 호출하기 위한 이름

인자 변수들: int num, int num2 등 메소드에 전달되는 인자들의 값을 저장하고 사용할 변수들

명령문: 메소드의 기능을 수행하는 명령문의 집합

 

E.g.

// Student.java (Student Class)

public class Student {
    // private 으로 보호된 String 타입 멤버변수 name
    private String name;
    
    // String 타입으로 멤버 변수 name의 값을 반환하는 메소드
    public String getName() {
        return name;
    }
    
    // 받아온 String 타입의 데이터를 String 타입의 매개 변수 name에 저장하고
    // 멤버 변수 name에 매개 변수 name의 값을 저장하는 메소드
    // 반환하는 결과는 없으므로 void로 선언
    public void setName(String name) {
        this.name = name;
    }
}


// StudentTest.java (StudentTest Class main() 메소드 포함)

public class StudentTest {
    
    public static void main(String[] args) {
        // Student 객체 생성
        Student std = new Student();
        
        // Student 객체 std의 setName 메소드 호출
        std.setName("dev");
        
        // Student 객체 std의 getName 메소드 호출
        // String 타입의 변수 name에 getName의 리턴 결과 저장
        String name = std.getName();
        
        // name 변수에 저장된 데이터 출력
        System.out.println(name);
    }
}


// 출력 결과
dev

Student 클래스

  • 멤버변수: private String name
  • 메소드: public String getName(), public void setName(String name)

StudentTest 클래스

  • 메소드: public static void main(String[] args)

Student 클래스를 기반으로 Student 객체를 생성하고

Student 객체의 setName(String name) 를 호출합니다.

Student 객체의 setName("dev") 로 명령하면 String 타입의 "dev" 값을 전달 받고

해당 메소드가 갖고 있는 String 타입의 멤버변수 name 에 값을 저장하게 됩니다.

setName(String name) 메소드는 반환 데이터 타입이 없는 void 로 선언되었으므로

호출로 인한 데이터는 main으로 보내지지 않습니다.

 

main 에서 String 타입의 변수 name을 선언하고

Student 객체의 getName() 메소드를 호출하여 데이터를 받아옵니다.

getName() 메소드는 String 타입으로 선언되었고

Student 객체의 String 타입 멤버변수인 name의 값을 반환하므로

String 타입의 변수 name 으로 main 으로 반환된 값을 저장할 수 있습니다.

 

그리고 변수 name을 출력하게되면 우리가 지정했던 "dev" 가 출력됩니다.

'Java > Java language' 카테고리의 다른 글

[Java] 생성자 (Constructor)  (0) 2020.08.06
[Java] 필드 (Field)  (0) 2020.08.05
[Java] Class (클래스)  (0) 2020.08.05
[Java] Array (배열)  (0) 2020.08.03
[Java] while 문  (0) 2020.08.03
Comments