전체 글

전체 글

    [Java] 스태틱 (static)

    스태틱 (static) static은 변수와 메소드에 사용할 수 있다. static은 '고정된/정적인' 개념으로 생각하면 편하다. static으로 선언된 변수나 메소드는 프로그램이 실행됨과 동시에 static 메모리 영역에 만들어지며, 종료와 동시에 사라진다. 메인 메소드를 정의할 때 public static void main으로 시작하는 것을 생각하면 이해가 더 편하다. 그 외 일반 변수나 메소드는 사용을 위해 선언 되었을 때 heap 메모리 영역에 만들어지며, 흔히 말하는 가비지 컬렉터 (Garbage Collector)의 영향 아래에서 동적으로 사용된다고 생각하면 될 것 같다.

    [Java] 오버로딩 & 오버라이딩 (Overloading, Overriding)

    Overload (오버로드) 동일한 이름의 메소드를 여러 개 정의해서 사용하는 방법. 메소드를 한 공간 위에 계속 쌓는다는 느낌. 매개변수의 유형이나 개수 등을 다르게 만들어 다양하게 호출될 수 있도록 한다. 메소드를 여러 기능으로 만들 때 유용하다. 개발자의 편의를 위한 기능이라고도 볼 수 있을 것 같다. public class Cal { int plus(int a, int b) { return a+b; } int plus(int a, int b, int c) { return a+b+c; } } Override (오버라이드) 상속 관계를 갖는 상위 클래스의 메소드를 하위 클래스에서 재정의하여 사용하는 방법. 메소드를 위에 덧 쓰는 (Over Writing?) 느낌. 상위 클래스의 메소드를 하위 클래스에..