본문 바로가기

전체 글181

#17 Lesson: Generics 2 Type Inference타입 유추는 메서드 호출에 적용할 수 있는 타입 아규먼트(또는 아규먼트)를 결정하기 위해 해당 메소드 호출 및 해당 메서드 선언을 살펴보는 Java 컴파일러의 기능입니다.추론 알고리즘은 타입 아규먼트의 타입과 (가능한 경우)리턴되는 타입을 결정합니다.마지막으로 추론 알고리즘은 모든 아규먼트와 함께 작동하는 특정 타입을 찾으려고 시도합니다. 이 마지막 요점을 설명하기 위해 다음 예제에서 타입 추론은 pick 메서드에 전달되는 두 번째 아규먼트가 Serializable 유형임을 확인합니다.static T pick(T a1, T a2) { return a2; }Serializable s = pick("d", new ArrayList()); Type Inference and Gener.. 2024. 7. 29.
깃헙시험준비 1. remote empty repo 생성 깃헙가서 + 누르고 새로운 레파지토리 생성  2. git init & git push폴더만들 주소로 간뒤 mkdir 폴더이름 으로 폴더만들고 cd ./폴더이름 으로 위치바꿔주고git init 으로 로컬저장소로 초기화해주고git remote add origin 깃헙주소 로 원격저장소 설정암거나 만들고 git push -u origin main (처음 푸쉬할때 -u 로 설정해주고 담부턴 그냥 git push만 해도 됨, 여기서 origin은 원격 저장소의 이름이고, main는 브랜치 이름) 뭔 에러 뜨면 원격 저장소가 로컬 저장소에 없는 변경 사항을 포함하고 있기 때문에 발생한거라 git pull 하자 3. git local branch 생성 -> remote re.. 2024. 7. 28.
머지(merge)와 리베이스(rebase) Git에서 머지(merge)와 리베이스(rebase)는 브랜치를 통합하는 두 가지 주요 방법입니다. 각 방법은 고유한 특성과 장단점을 가지고 있으며, 특정 상황에서 적절히 사용될 수 있습니다.  머지(Merge)머지는 두 개의 브랜치를 결합하여 새로운 커밋을 생성하는 과정입니다. 머지를 통해 두 브랜치의 변경 사항을 모두 포함하는 단일 커밋을 만듭니다. git checkout maingit merge feature-branch 이 명령어는 feature-branch를 main 브랜치에 병합합니다. 병합 커밋이 생성되며, main 브랜치의 히스토리에 변경 사항이 통합됩니다. 특징역사 보존: 모든 커밋 히스토리가 보존되며, 병합 커밋이 추가되어 각 브랜치의 변경 사항을 명확히 추적할 수 있습니다.단순함: 병.. 2024. 7. 28.
#16 Lesson: Generics 1 자바 공식 Generics 튜토리얼 Why Use Generics?간단히 말해서, 제네릭은 클래스, 인터페이스 및 메서드를 정의할 때 타입(클래스 및 인터페이스)을 파라미터로 사용할 수 있습니다. 메소드 선언에 사용되는 더 친숙한 formal 파라미터와 마찬가지로, 타입 파라미터는 다른 입력으로 동일한 코드를 재사용할 수 있는 방법을 제공합니다. 차이점은 formal 파라미터에 대한 입력은 값인 반면, 타입 파라미터에 대한 입력은 타입이라는 것입니다. 제네릭을 사용하는 코드는 제네릭이 아닌 코드에 비해 많은 이점이 있습니다:컴파일 시간에 더 강력한 타입 검사. 자바 컴파일러는 제너릭 코드에 강력한 타입 검사를 적용하고 코드가 타입 안전을 위반하는 경우 오류를 발행합니다. 컴파일 타임 오류를 수정하는 것은.. 2024. 7. 28.
#15 Lesson: Numbers and Strings [Autoboxing and Unboxing] Autoboxing and Unboxing오토박싱은 Java 컴파일러가 기본 유형과 해당 객체 래퍼 클래스 간에 수행하는 자동 변환입니다. 예를 들어 int를 Integer로, double을 Double로 변환하는 등의 작업을 수행합니다. 변환이 반대 방향으로 진행되는 경우 이를 언박싱(Unboxing)이라고 합니다.여기 가장 심플한 오토박싱 샘플 코드가 있습니다.Character ch = 'a'; 이 섹션의 나머지 예제에서는 제네릭을 사용합니다. 아직 제네릭 신택스에 익숙하지 않다면 제네릭(업데이트됨) 단원을 참조하세요.다음 코드를 고려해보세요.List li = new ArrayList();for (int i = 1; i  Integer 객체가 아닌 int 값을 li의 엘리먼트로 추가하더라도 코드가 컴.. 2024. 7. 28.
#14 Lesson: Numbers and Strings [Strings] StringsJava 프로그래밍에서 널리 사용되는 문자열은 일련의 문자입니다. Java 프로그래밍 언어에서 문자열은 객체입니다.Java 플랫폼은 문자열을 생성하고 조작하기 위한 String 클래스를 제공합니다.public final class String implements java.io.Serializable, Comparable, CharSequence { // 내부적으로 문자를 저장하는 char 배열 private final char value[]; // String 클래스의 생성자 예시 public String(char value[]) { this.value = Arrays.copyOf(value, value.length); } // 기타 메서드와 구현.. 2024. 7. 26.