데이터 과학

class 와 method 정의 본문

프로그래밍 언어론/JAVA 기초

class 와 method 정의

티에스윤 2022. 8. 14. 22:26

자바 언어의 class와 method 정의에 대해 알아보는 내용입니다. 

 

아래 2개의 클래스가 있는데, 이 파일을 하나의 파일로 저장을 한다면 파일의 이름은 ExamTest.java로 저장해야 합니다. 

main() 메서드를 가지고 있는 class가 drive class로 주 클래스의 역할이 됩니다. 

 

자바 언어는 컴파일형 언어로 다른 스크립트 언어와는 달리  main() 메서드 안에서 프로그램이 시작과 끝이 되기에 언제나 main() 메서드부터 시작해야 합니다. 

 

 

 

class Exam { // 클래스 Exam의 정의
 int c;
 public int add(int a, int b) {    // add는 메소드입니다.   int a, int b는 formal parameter (형식 매개변수)입니다. 
 c = a + b;
 return c;    // c 결과를 리턴합니다. 
} }
public class ExamTest {   // drive class에서 public을 지정해야 합니다. 
 /* Exam 클래스의 객체를 생성하여 사용한다
 객체로부터 반환된 결과를 인쇄한다 */
 public static void main(String args[]) {
    int sum;
    int x, y;
    x = 20;
    y = 29;
 // 명령행 인자로부터 데이터를 받아 정수로 변환하여 저장 
    Exam examobject = new Exam();     // examobject라는 객체 이름이 정의됩니다. 
    sum = examobject.add(x,y);  // 매개변수 값을 입력하는 actual parameter (실재 매개변수)라고 합니다. 
   System.out.println("입력한 값의 합은 " + sum + "입니다"); // + 부호는 연결자 (concatenator) 입니다. 
 }
}

 

 

위 예제에서는 매개변수(parameter)에 대한 내용도 나타나는데 매개변수는 2개로 구성됩니다.

정말 값이 입력되는 actual parameter의 경우는 인자(argument)라고도 불립니다.

값을 형식적으로 정의 내린다고 해서 정의된 매개변수는 formal parameter 입니다. 

 

객체(object)를 정의 하는 부분이 어려울 수 있는데, 객체지향의 기본 문법만 알고 있으면 어려운 내용은 아닙니다. 

examobject는 이름입니다. 객체화를 할 때 필요해서 만든 변수입니다. 

 

 

예제 결과는 간단한 출력물입니다. 

 

입력한 값의 합은 49입니다

 

이렇게 출력이 되겠습니다. 

 

 

 

 

인자 , 실재 매개변수 그리고 형식 매개변수

 

 

위 예제에서 argument - actual parameter를 알아봅시다. 

x와 y에 각각 20과 29라는 숫자가 정수형으로 입력이 되어 있죠. 

이를 add(x,y)에 반영하는 것입니다. 

 

examobject라는 객체이름(변수)은 new Exam()에서 Exam()이라는 객체 대상을 가리키게 되겠네요. 

Exam()은 위에 클래스로 선언이 되어 있습니다. 그 안에 add() 메소드가 정의가 되어 있죠. 

add() 메소드 parameter를 보면 정수형으로 변수 2개가 정의되어 있습니다. 아마 add(int a, intb) 이렇게 되어 있죠. 

이 정의되어 있는 parameter를 형식매개변수(formal parameter)라고 합니다. 

 

아래는 argument에서 가지고 있는 값 x,y를 형식 매개변수에서 정의된 int a, int b에 대입해 주는 명령어입니다. 

값에 의한 전달(pass by value)인것이죠. 

 

 

   int x, y;
    x = 20;
    y = 29;

sum = examobject.add(x,y);

 

 

add(20, 29) -> Exam. add(int a, int b)  이렇게 전달이 되면 int a=20, int b=29 이렇게 값이 전달되는 것과 같은 결과입니다. 

 

컴퓨터 언어는 pass by value와 pass by address 2가지로 값과 주소를 전달하는 방법만 있습니다. 

위에 예제에서 객체와 그 안에 메소드 파라미터를 이용한 내용은 값에 의한 전달(pass by value)입니다. 

 

 

 

 

온라인 컴파일러에서 한번 실습해 봅시다. 

 

https://www.onlinegdb.com/online_java_compiler

 

Online Java Compiler - online editor

OnlineGDB is online IDE with java compiler. Quick and easy way to run java program online.

www.onlinegdb.com

 

'프로그래밍 언어론 > JAVA 기초' 카테고리의 다른 글

For each  (0) 2022.08.22
연산자  (2) 2022.08.21
기본형 데이터 형식, 참조형 데이터 형식  (33) 2022.05.29
Cast 연산자와 연산  (21) 2022.05.22
JAVA 변수형식, 상수  (19) 2022.05.15