Java5강
Method(function)
프로젝트>패키지>클래스>메소드(함수)
메인함수를 최대한 간단히 하는 것을 지향해야한다.
클래스를 여러개로 나누는 것을 지향해야한다.
변수 명도 그 기능에 맞게 한눈에 알아볼 수 있도록.
Calling a Method from the Same Class
Parameter(인자)
y=f(x);
함수에 들어가는 x
y = return value
Declaring a static final variable
final : 변하지 않는 상수. = constant
static : 정적인.고정된. 프로그램이 실행되면 미리 메모리에 정보가 올라가있다(떠있다).
static은 필요할 때 적재적소에 쓰고 버리고 해야 나중에 메모리를 많이 차지 않는다. 왠만하면 static은 최대한 쓰지 않는 것이 바람직하다.
static은 객체생성을 따로 하지 않아도, 이미 메모리에 올라가있는 객체를 가져와 쓸 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class P2 { public static final int JohnsAge = 37; public static final int KatesAge = 39; public static final int MikesAge = 51; public static void main(String[] args) { printAge(MikesAge); } public static void printAge(int personsAge) { System.out.println("Age : " + personsAge); } } | cs |
메인함수를 포함한 밑에 있는 static이 있는 함수들에게 static을 통해 각 상수(final)의 값들을 제공함.
public 접근 제한자는 제한이 없고, private 접제는 같은 class내에서 등등…
Returning a Value
함수입장에서는 return 만 주면 된다.
코드를 읽을 때에도 return이 결과값이니 가독성이 좋다.
Overloading
overide
overload : 자바에서는 함수 명을 같게, 하지만 인자 값을 다르게 받아 여러가지 함수의 역할을 만들 수 있다. C에서는 불가. = 자바는 같은 함수명을 가진 애가 여럿 존재 가능하다.
Recursive Function
재귀함수. 내가 나를 부르는 것.
무한루프가 만들어지지 않게
-> i가 떨어지면 최솟값에 딱 떨어지는 if 만들고 return 값을 매겨줘야한다
-> i가 올라가면 최대값에 떨어지는 if 만들고 return 값을 매겨줘야한다
피보나치수열에 0 과 1은 final 고정 상수
+α
하다 막히면 과감히 지우고 처음부터 다시 생각해보자. 크게생각하고,
두가지 i,j가 변해야 한다면 i루프안에 j루프. i와 j값 범위 따로 설정.
최대값이 필요하면 i–, 최소값은 i++
재귀함수는 함수가 자신안에 자신이 들어가있는 형태.
ex)5! = 5 * 4!, 4! = 4 * 3!
Scanner sc = new Scanner(System.in);
=> 객체를 생성하는 것. 이 코드가 반복하여 메모리를 잡아먹지 않도록 위로 빼자
가독성을 위해 함수와 함수 사이는 한 줄씩 띄어서 쓰자!
if (inputType == 1)
이렇게 말고
JAVA는 메인함수를 맨 위로 놓는 스타일
Leave a comment