본문 바로가기

자바28

[자바 스터디] 7주차 과제 - 패키지 본 게시글은 백기선 님의 live-study 과제를 수행하면서 작성한 글입니다. 목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 classpath 옵션 접근지시자 package 패키지란? 패키지는 클래스의 묶음이다. 서로 관련된 클래스, 인터페이스를 묶어서 효율적으로 관리할 수 있다. 클래스가 하나의 물리적인 파일인 것처럼 패키지는 물리적인 디렉토리 경로이다. 예를 들어 String 클래스의 경우 패키지 이름까지를 포함한 풀네임은 java.lang.String인데 이것은 즉, String클래스는 java/lang/String.java의 경로에 위치하고 있다는 것이다. 실제로 jdk디렉토리/Contents/Home/l.. 2021. 1. 2.
[자바 스터디] 6주차 과제 - 상속 본 게시글은 백기선 님의 live-study 과제를 수행하면서 작성한 글입니다. 목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징 단일 상속 C++은 여러 조상 클래스로부터 상속받는 '다중 상속'을 허용하지만 자바에서는 단일 상속만 가능하다. 다중 상속을 허용하면 위 그림과 같이 서로 다른 클래스로부터 상속받은 멤버 간의 선언부가 같은 경우 구별할 수 없다는 단점을 가지고 있다. 이런 경우에 조상 클래스의 메서드를 사용하는 모든 클래스를 변경해야 되기 때문에 간단한 문제가 아니다. 자바에서는 .. 2020. 12. 25.
[자바] Java8 Optional 옵셔널 자바 8에서 추가된 Optional는 T타입의 객체를 감싸는 래퍼클래스이다. public final class Optional { private final T value; } 값을 직접 반환하지 않고 이렇게 한번 감싸서 반환하면, 매번 if문을 사용하여 null체크를 하지 않아도 Optional에 있는 메서드를 이용해서 NullPointerException이 발생하지 않는 보다 간결하고 안전한 코드를 작성할 수 있다. Optional 객체 생성하기 Optional.of(T value) Optional.ofNullable(T value) Optional.empty() of 메서드는 매개변수의 값이 null이면 NullPionterException을 발생시키기 때문에, 값이 null일 가능성이 있으면 ofN.. 2020. 12. 24.
[자바 스터디] 5주차 과제 - 클래스 본 게시글은 백기선 님의 live-study 과제를 수행하면서 작성한 글입니다. 목표 자바의 Class에 대해 학습하세요 학습할 것(필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 클래스 클래스란 '객체 생성을 위한 설계도'라고 할 수 있다. 예를 들어 TV가 있다면 실제 TV 제품은 객체이고 이 TV의 설계도를 클래스라고 할 수 있다. 클래스 구성요소 클래스는 멤버 변수와 메서드로 구성되어 있다. 다시 한번 TV로 예를 들어보면 TV의 크기, 길이, 색상, 볼륨, 채널 등과 같은 상태는 멤버 변수라고 할 수 있고, 티비를 켜거나 끄고, 볼륨을 조절하고, 채널을 변경하는 행동은 메서드라고 할 수 있.. 2020. 12. 17.
[스터디] JUnit5 자바 단위 테스트 프레임워크 JUnit5 사용하기 pom.xml 파일에 의존성을 추가한다. https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api org.junit.jupiter junit-jupiter-api 5.7.0 test 2.2버전 이상의 스프링 부트 프로젝트를 생성하면 따로 추가하지않아도 기본으로 의존성이 추가된다. 기본 어노테이션 @Test : 해당 메서드가 테스트 메서드임을 선언한다. @BeforeAll / @AfterAll : 테스트 클래스에 있는 모든테스트를 실행하기 전, 후에 딱 한번만 실행되며 static 메서드여야함. @BeforeEach / @AfterEach : 각각의 테스트 메서드를 실행하기 전, 후에 호출된다. @Disabled :.. 2020. 12. 14.
[자바 스터디] 4주차 과제 : 제어문 본 게시글은 백기선 님의 live-study 과제를 수행하면서 작성한 글입니다. 선택문(switch 문) if 문의 경우 경우의 수가 많아질수록 계산해야 하는 조건식이 많아져 처리 시간이 오래 걸리며 가독성도 좋지 않을 수 있다. 이에 반해 Swtich 문은 하나의 조건식으로 많은 경우의 수를 처리할 수 있으며 표현도 간결하여 처리할 경우의 수가 많은 경우 Switch 문을 사용하는 것이 좋다. switch 문은 조건식을 계산한 다음, 그 결과와 일치하는 case 문으로 이동 후 해당 case 문 아래에 있는 코드들을 실행하며 break 문을 만나면 switch 문을 빠져나가게 된다. 위 예시 코드를 보면 num 값은 2이기 때문에 (1) 과정에서 case 2:로 이동하여 (2) 과정에서 case 2: .. 2020. 12. 11.