본문 바로가기

Java Tutorials30

#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.
#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.
#13 Lesson: Numbers and Strings [Numbers] [공식 튜토리얼] Numbers이 섹션은 Number 클래스(java.lang 패키지에 있음)와 그 하위 클래스에 대한 논의로 시작됩니다. 특히 이 섹션에서는 기본 데이터 유형 대신 이러한 클래스의 인스턴스화를 사용하는 상황에 대해 설명합니다. 또한 이 섹션에서는 자바 언어에 내장된 연산자를 보완하기 위해 서식을 지정하거나 수학 함수를 사용하는 등 숫자 작업에 필요할 수 있는 클래스들에 대해 설명합니다. 마지막으로 코드를 단순화하는 컴파일러 기능인 오토박싱 및 언박싱에 대한 논의가 있습니다. StringsJava 프로그래밍에서 널리 사용되는 문자열은 일련의 문자입니다. Java 프로그래밍 언어에서 문자열은 객체입니다. 이 섹션에서는 String 클래스를 사용하여 문자열을 만들고 조작하는 방법을 설명합니다.. 2024. 7. 25.
#12 Lesson: Interfaces and Inheritance[Inheritance 2] Polymorphism[공식 튜토리얼] 다형성의 사전적 정의는 유기체나 종[species]이 다양한 형태나 단계를 가질 수 있는 생물학의 원리를 의미합니다. 이 원칙은 객체 지향 프로그래밍 및 Java 언어와 같은 언어에도 적용될 수 있습니다. 자바 클래스의 하위 클래스는 고유한 동작을 정의하면서도 상위 클래스와 동일한 기능 중 일부를 공유할 수 있습니다. 다형성은 Bicycle 클래스를 약간 수정하여 시연할 수 있습니다. 예를 들어, 현재 인스턴스에 저장된 모든 데이터를 표시하는 클래스에 printDescription 메소드를 추가할 수 있습니다.public class Bicycle { // the Bicycle class has three fields public int ca.. 2024. 7. 25.