Command Line Arguments
- 명령줄 인수
main
메소드의 매개변수로 전달되는 값들
- 프로그램 실행 시
java MyProgram arg1 arg2 arg3
와 같이 인수 전달 가능
Runtime, Compile Time
- 런타임, 컴파일 타임
- 런타임은 프로그램이 실행되는 동안의 시간을 의미
- 컴파일 타임은 Java 소스 코드가 바이트 코드로 변환되는 시간을 의미
Rectangular Array
- 직사각형 배열
- 모든 행이 동일한 길이를 가지는 2차원 배열
Jagged Array
- 각 행이 다른 길이를 가질 수 있는 2차원 배열
RegEx
- 정규 표현식
- 문자열 패턴 매칭에 사용되는 표현식
Recursion
Method Signature
- 메소드 시그니처
- 메소드의 이름과 매개변수 타입으로 구성
- Java에서는 반환 타입과 접근 제어자는 시그니처에 포함되지 않음
Method Overriding
- 메소드 오버라이딩
- 상속 관계에서 하위 클래스가 상위 클래스의 메소드를 재정의하는 것
- Java에서는
@Override
어노테이션을 통해 명시적으로 표시 가능
Method Overloading
- 메소드 오버로딩
- 같은 이름의 메소드를 매개변수의 타입이나 개수를 다르게 하여 여러 개 정의하는 것
- Java에서는 반환 타입은 오버로딩을 결정하는데 영향을 주지 않음
Naming Convention
- 네이밍 컨벤션
- 코드의 가독성과 유지보수를 위해 일관된 이름 규칙을 사용하는 것
- Java
- PascalCasing : Class, Interface, Enum
- camelCasing : variable, method
- UPPER_SNAKE_CASE : constant variable
Call(Pass) by Name, Value, Reference
- 이름, 값, 참조에 의한 호출(전달)
- Java는 Call by Value 사용
- Call by Reference, Call by Name은 지원하지 않음
- 참조 타입이 메서드에 전달되면, 메서드는 참조의 복사본을 받음
- 순수한 Call by Name은 지원하지 않으나, 람다 표현식 등을 사용하여 시뮬레이션은 가능