1 minute read

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는 메인함수를 맨 위로 놓는 스타일

Updated:

Leave a comment