해당 내용은 실습이 주가 되었으므로 깃허브 링크로 대신함.
배열(Array)
배열 생성 및 초기화
int[] iArray = new int[] {1, 2, 3, 4, 5};
double dArray[] = {1.1, 2.2, 3.3, 4.4, 5.5};
- 배열 생성 시 에러나는 case
- 배열 변수를 이미 선언한 후에 중괄호를 사용한 배열 생성은 불가능하다. int[] iArray;
iArray = {1, 2, 3, 4, 5};
-
위의 경우, 다음과 같이 해결 가능하다.
int[] iArray;
iArray = new int[] {1, 2, 3, 4, 5};
- 배열 생성 시 초기화 되는 값

배열 실습
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/04_%EB%B0%B0%EC%97%B4
열거 타입(Enum)
- 한정된 값만을 갖는 데이터 타입이다.
- 열거 타입은 몇 개의 열거 상수(Enumeration Constant) 중에서 하나의 상수를 저장하는 데이터 타입이다.
- 열거 타입의 생성자는 반드시 private으로 선언해야 한다.
메소드
- name(): 열거 상수가 가지고 있는 문자열을 반환한다.
- ordinal(): 전체 열거 상수 중 몇 번째 열거 상수인지 정숫값을 반환한다. (0부터 시작)
- equals(): 매개값으로 전달되는 열거 상수와 동일한 열거 상수인지 확인 후 true 또는 false를 반환한다.
- compareTo(): 매개값으로 주어진 열거 상수를 기준으로 전후로 몇 번째 위치하는 정숫값을 반환한다
열거 타입 실습
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/05_%EC%97%B4%EA%B1%B0%ED%83%80%EC%9E%85
클래스
접근 제한자
- public: 외부에서 자유롭게 접근이 가능하다.
- protected: 같은 패키지 또는 자식 클래스에서만 접근이 가능하다.
- default: 같은 패키지에 소속된 클래스에서만 접근이 가능하다.
- private: 외부에서의 접근을 제한하고 선언된 클래스에서만 접근이 가능하다.

객체 실습
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/06_%EA%B0%9D%EC%B2%B4
필드 실습
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/07_%ED%95%84%EB%93%9C
생성자 실습
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/08_%EC%83%9D%EC%84%B1%EC%9E%90
메소드 실습
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/09_%EB%A9%94%EC%86%8C%EB%93%9C
메소드 오버로딩
- 클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것
- 메소드 오버로딩을 통해서 매개값을 다양하게 받아서 필요한 처리할 수 있다.
- 메소드 오버로딩의 조건은 매개변수의 타입, 개수, 순서 중 하나가 달라야 한다.
- 매개변수 이름만 바꾸는 것, 리턴 타입만 다르고 매개변수가 동일한 것도 메소드 오버로딩이 아니다.
- 호출 시점에 메소드 구분이 가능해야한다.
정적 메소드
- 메소드 내부에서 정적 멤버를 사용하거나 필드를 사용하지 않는다면 정적 메소드로 선언한다.
- 객체의 필드나 메소드에 접근할 수 없고 this 키워드를 사용할 수 없다.
정적 변수 실습
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/10_%EC%A0%95%EC%A0%81%EB%A9%A4%EB%B2%84
상속 실습
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/11_%EC%83%81%EC%86%8D
메소드 오버라이딩
- 부모 클래스의 메소드를 자식 클래스에서 다시 재정의해서 사용하는 것
- @Override 어노테이션을 붙여 준다. (생략 가능)
- 부모 클래스의 메소드가 private 접근 제한을 가지면 자식 클래스는 메소드를 오버라이딩 할 수 없다.
- 자식 객체에서 오버라이딩된 메소드를 가지면 부모 객체의 메소드는 삭제되는 것이 아닌 오버라이딩된 메소드에 의해 가려지게 된다.
- 자식 클래스 내부에서 오버라이딩된 부모 클래스의 메소드를 호출해야 하는 상황이 발생한다면 super를 통해서 부모 메소드를 호출할 수 있다.
- 부모 클래스의 접근 제한자보다 좁은 영역의 접근 제한자를 자식 클래스에 사용할 수 없다.
다형성 실습
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/12_%EB%8B%A4%ED%98%95%EC%84%B1
추상클래스 실습
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/13_%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4