본문 바로가기

Java25

[Java의 정석] 상속과 오버라이딩 1-1. 상속(inheritance) 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것. 상속을 통해서 클래스를 작성하면 보다 적응 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 1-2. 상속의 특성 상속의 대상은 멤버(변수와 메서드)이다. 생성자와 초기화 블럭은 상속되지 않는다. 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. 1-3. Object 클래스 - 모든 클래스의 조상 Object 클래스는 모든 클래스 상속계층도의 최상위에 있는 조상 클래스이다. 다른 클래스로부터 상속 받지 않는 모든 클래스들은 자동적으로 Object 클래스로부터 상속을 받는다. 만일 다른 클래스로부터 상속을 받는다고 .. 2023. 2. 14.
[Java의 정석] 생성자 (Constructor) 1. 생성자란? 정의 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드' * 연산자 new가 인스턴스를 생성하는 것이지 생성자가 인스턴스를 생성하는 것이 아니다. 역할 인스턴스 변수의 초기화 작업에 주로 사용됨 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용됨 조건 생성자의 이름은 클래스의 이름과 같아야 한다. 생성자는 리턴 값이 없다. 2. 기본 생성자 (default contrcutor) 모든 클래스에는 반드시 하나 이상의 생성자가 정의되어 있어야 한다. 단, 클래스에 정의된 생성자가 하나도 없을 때는 컴파일러에 의해서 기본 생성자가 자동으로 추가된다. 3. 매개변수가 있는 생성자 생성자도 메서드처럼 매개변수를 선언하여 호출 시 값을 넘겨받아서 인스턴스의 초기화 작업에 사용할 수.. 2023. 2. 13.
[Java / Stream] 배열 ↔︎ 리스트 간 변환 (정수) 예제 코드 int[] arr = {1, 2, 3, 4}; // 배열 -> 리스트 List list = new ArrayList( Arrays.stream(arr) .boxed() .collect(Collectors.toList()) ); // 리스트 -> 배열 int[] arrB = list.stream() .mapToInt(i -> i) .toArray(); 2023. 2. 1.
[Java / Stream] int 배열 내림차순 정렬 class Solution { public void solution(int[] arr) { arr = Arrays.stream(arr) .boxed() // Stream .sorted(Comparator.reverseOrder()) .mapToInt(i->i) // IntStream .toArray(); } } 2023. 1. 30.