High Level Programming Language/Learning the Java Language(38)
-
Lesson: Expressions, Statements, and Blocks
Expressions, Statements, and Blocks이제 변수와 연산자에 대해 이해했으므로, Expression, Statements, 그리고 Block에 대해 배울 시간입니다. 연산자는 값들을 계산하는 expression을 만드는 데 사용될 수 있습니다; expression은 Statement의 핵심 구성 요소입니다; Statement 들은 블록으로 그룹화될 수 있습니다. Expressions expression는 변수, 연산자, 그리고 메서드 호출로 구성되며, 언어의 문법에 따라 구성됩니다. 이는 단일 값으로 평가됩니다. 이미 expression의 예를 보았는데, 아래에서 굵은 글씨로 나타낸 부분입니다: int cadence = 0; anArray[0] = 100; System.out.pr..
2024.05.08 -
Lesson: Language Basics - Operators
Operators변수를 선언하고 초기화하는 방법을 배웠으니 이제 그 변수들을 활용하는 방법에 대해 알고 싶을 것입니다. 자바 프로그래밍 언어의 연산자를 학습하는 것은 좋은 시작입니다. 연산자는 특정 작업을 수행하는 특수 기호로, 하나, 둘 또는 셋의 피연산자에 대해 작업을 수행한 다음 결과를 반환합니다. 자바 프로그래밍 언어의 연산자를 탐색하는 동안 연산자의 우선순위가 높은 것부터 미리 알고 있으면 도움이 될 수 있습니다. 다음 표에 나열된 연산자는 우선순위 순서대로 나열되어 있습니다. 표의 맨 위에 나타나는 연산자일수록 우선순위가 높습니다. 우선순위가 높은 연산자가 상대적으로 우선순위가 낮은 연산자보다 먼저 평가됩니다. 동일한 라인에 있는 연산자는 우선순위가 동일합니다. 동일한 우선순위의 연산자가 동일..
2024.05.01 -
Lesson: Language Basics - Variables
Variables이전 강의에서 배웠듯이 객체는 자신의 상태를 fields 에 저장합니다 .int cadence = 0;int speed = 0;int gear = 1; 객체란 무엇인가? 토론을 통해 필드에 대해 소개했지만 아마도 다음과 같은 몇 가지 질문이 있을 것입니다. 필드 이름을 지정하는 규칙과 이 규칙은 무엇입니까? 게다가 int, 어떤 다른 데이터 타입이 있나요? 필드를 선언할 때 필드를 초기화해야 합니까? 명시적으로 초기화되지 않은 경우 필드에 디폴트 값이 할당될니까? 이번 강의에서는 이러한 질문에 대한 답을 살펴보겠습니다. 하지만 그 전에 먼저 알아야 할 몇 가지 기술적 차이점이 있습니다. Java 프로그래밍 언어에서는 "필드"와 "변수"라는 용어가 모두 사용됩니다. 둘 다 종종 동일한 것을..
2024.05.01 -
Lesson: Object-Oriented Programming Concepts
보호되어 있는 글입니다.
2024.04.30 -
Lesson: Generics[Type Erasure]
Type Erasure제네릭은 컴파일 타임에 더 엄격한 타입 체크를 제공하고 제네릭 프로그래밍을 지원하기 위해 Java 언어에 도입되었습니다. 제네릭을 구현하기 위해 Java 컴파일러는 타입 소거(Type Erasure)를 다음에 적용합니다:제네릭 타입에 제한[bounds] 있다면 제한 타입으로, 만약 타입 파라미터가 제한이 없다면 Object로 대체합니다. 따라서 생성된 바이트코드는 일반 클래스, 인터페이스, 메서드만을 포함합니다.타입 안전을 유지하기 위해 필요한 경우 타입 캐스트를 삽입하십시오.확장된 제네릭 타입에서 다형성을 유지하기 위해 브리지 메서드를 생성합니다.타입 소거는 파라미터화된 타입에 대해 새 클래스가 생성되지 않도록 합니다. 결과적으로 제네릭은 런타임 오버헤드를 발생시키지 않습니다.파라..
2023.06.18 -
Lesson: Generics[Wildcards, Wildcard Capture]
Wildcards일반 코드에서 와일드카드라고 하는 물음표(?)는 알 수 없는 타입을 나타냅니다. 와일드카드는 다양한 상황에서 사용할 수 있습니다. 때로는 리턴 타입으로 사용됩니다(좀 더 구체적으로 프로그래밍하는 것이 더 나은 방법이긴 하지만). 와일드카드는 제네릭 메서드 호출, 제네릭 클래스 인스턴스 생성 또는 상위 타입에 대한 타입 아규먼트로 사용되지 않습니다. 다음 섹션에서는 상한 와일드카드(Upper Bounded Wildcards)하한 와일드카드(Lower Bounded Wildcards)와일드카드 캡처(Wildcards Capture)를 포함하여 와일드카드에 대해 자세히 설명합니다.※ "와일드카드 ?는 타입 아규먼트로 사용되며, → 그 목적은 파라미터화된 타입의 타입 아규먼트에 대한 제약(bou..
2023.06.17