[JAVA] 중첩 인터페이스 (nested interface)
Language/Java2023. 7. 18. 00:54[JAVA] 중첩 인터페이스 (nested interface)

이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 중첩 인터페이스 중첩 인터페이스는 클래스의 멤버로 선언된 인터페이스를 뜻한다. 인터페이스를 클래스 내부에 선언하는 이유는 해당 클래스와 긴밀한 관계이기 때문이다. 즉, 인터페이스 외부의 클래스가 존재하지 않는다면 해당 인터페이스는 쓸모가 없기 때문이다. 중첩 인터페이스는 아래와 같이 선언된다. class A{ [public | private] | [static] interface B{ //상수 필드 //추상 메소드 //디폴트 메소드 //정적 메소드 } } 외부의 접근을 막지 않으려면 public A 클래스 내부에서만 사용하려면 private 접근 제한자를 붙이지 않으면 같은 패키지 안..

[C++] 백준 10867번 문제 (중복 빼고 정렬하기)
자료구조 & 알고리즘/BOJ2023. 7. 17. 18:16[C++] 백준 10867번 문제 (중복 빼고 정렬하기)

문제설명 소스코드 #include #include #include using namespace std; int main() { int N; vector arr; cin >> N; int input; for (int i = 0; i > input; arr.push_back(input); } sort(arr.begin(), arr.end()); arr.erase(unique(arr.begin(), arr.end()), arr.end()); for (int i = 0; i < arr.size(); ++i) cout 중복된 원소의 첫 번째 부터 벡터의 마지막까지를 지워버림

C언어 컴파일 과정
Language/C, C++2023. 7. 17. 01:29C언어 컴파일 과정

test.c #include int main(){ printf("Hello, World!"); } test.cpp #include using namespace std; int main() { cout

[C++] 백준 13단계 - 1427번 문제 (소트인사이드)
자료구조 & 알고리즘/BOJ2023. 7. 16. 18:16[C++] 백준 13단계 - 1427번 문제 (소트인사이드)

문제설명 소스코드 #include #include using namespace std; bool compare(int a, int b) { return a > b; } int main() { string N; cin >> N; sort(N.begin(), N.end(),compare); cout

[JAVA] 봉인된 인터페이스(sealed interface)
Language/Java2023. 7. 16. 00:41[JAVA] 봉인된 인터페이스(sealed interface)

이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. Java 15부터 무분별한 자식 인터페이스 생성을 방지하기 위해 봉인된 인터페이스를 사용할 수 있다. 인터페이스 A의 자식 인터페이스는 인터페이스 B만 가능하고, 그 이외는 자식 인터페이스가 될 수 없도록 아래와 같이 인터페이스 A를 봉인된 인터페이스로 선언할 수 있다. public sealed interface InterfaceA permits InterfaceB{ } sealed 키워드를 사용하면 permits 키워드 뒤에 상속 가능한 자식 인터페이스를 지정해야한다. 봉인된 InterfaceA를 상속하는 interfaceB는 non-sealed 키워드로 아래와 같이 선언하거나 se..

[C++] 백준 13단계 - 10989번 문제 (커트라인)
자료구조 & 알고리즘/BOJ2023. 7. 15. 18:00[C++] 백준 13단계 - 10989번 문제 (커트라인)

문제설명 소스코드 #include #include using namespace std; bool compare(int a, int b) { return a > b; } int main() { int N, k; cin >> N >> k; int* arr = new int[N]; for (int i = 0; i > arr[i]; sort(arr, arr + N, compare); cout

[JAVA] 인터페이스 - default 메소드, static 메소드, private 메소드
Language/Java2023. 7. 15. 00:28[JAVA] 인터페이스 - default 메소드, static 메소드, private 메소드

이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 디폴트(default) 메소드인터페이스에 추상 메소드를 선언할 수 있다.추상 메소드는 애초에 실행 블록 자체를 선언할 수 없기 때문에, 실행 코드를 넣을 수 없다.하지만 디폴트 메소드는 실행 블록이 있기 때문에 실행 코드를 넣을 수 있다.일반적으로 구현 클래스가 여러 개인데, 동일한 코드를 넣어야 할 때, 일일이 다 오버라이드하기 번거로울때 쓰인다.인터페이스 안에 선언되는 메소드이므로 구현 객체가 반드시 필요디폴트 메소드를 사용하면  구현 클래스에서 따로 정의할 필요가 없다.(오버라이드 하지 않으면 모든 객체에서 동일한 기능을 함)구현 클래스에서 재정의(오버라이드)도 가능하다.(재정의..

[C++] 백준 13단계 - 2587번 문제 (대표값2)
자료구조 & 알고리즘/BOJ2023. 7. 14. 18:32[C++] 백준 13단계 - 2587번 문제 (대표값2)

문제설명 소스코드 #include #include using namespace std; int main() { int arr[5]; int sum = 0; for (int i = 0; i > arr[i]; sum += arr[i]; } sort(arr, arr + 5); cout

image