1. 표준함수 : maker. 기본 제공되는 함수
2. 사용자 정의 함수 : 개발자가 필요에 의해서 만드는 함수
1. instance method : 객체 당 사용되는 메소드 (각자 있는 개념)
this를 가지고 있다. 항상 첫 번째 매개변수로 존재하고 있다.
객체를 꼭 만들어야 사용할 수 있다.
2. static method : 객체 유무와 상관없이 사용할 수 있는 메소드.
this를 가지고있지 않다.
모든 객체가 공유하는 목적으로 사용한다.
메소드의 기본형
/* 접근지정자 (static/final) */ return타입 함수명(){
}
함수는 함수가 부름. 예외적으로 main함수는 OS가 부름
함수명은 기능에 맞게 해주는게 좋음.
리턴타입은 한가지 타입만 보낼 수 있음.
함수명 뒤 ()는 받는 공간. 여러개 사용가능, 주는 순서대로 받아야한다. ()안에 들어가는 것을 인자, 매개변수, argment 라고 부른다.
함수는 끝나면 호출한 곳으로 돌아온다.
함수, function, method : 자기만의 고유기능을 가지고 수행하는 것
모듈화 ( 재사용성, 유지보수 )
1. call by name : 이름을 불렀을 때 해당하는 함수가 일을 수행.
Test.test1();
2. call by value : 함수를 호출할 때 값을 주고 받으면서 함수가 일을 수행
Test.test2(int a);
3. call by reference : 참조하는 방식
Test.test3(Scanner sc2);
public class FunctionExam {
public void disp() { // instance method
System.out.println("Test1");
}
public static void disp2() { // static method
System.out.println("Test2");
}
public static void main(String[] args) {
FunctionExam fe; // 래퍼런스 변수 선언
fe = new FunctionExam(); // 객체생성
fe.disp(); // 래퍼런스를 통해서 접근할 수 있는 건 instance method
fe.disp2();
FunctionExam.disp2(); // 클래스명을 이용해서 사용할 수 있는 문법은 static method만 가능
}
}
오버로딩 ( 다형성 ) : 동일한 함수명으로 여러 개의 함수를 제공 (하나의 이름으로 여러 개의 함수를 사용할 수 있다.)
매개변수의 타입이 달라야 한다. 또는 매개변수의 갯수가 달라야한다.
같은 기능을 가지고 있는 것들끼리만 같은 이름으로 사용해라.