High Level Programming Language/Learning the Java Language(38)
-
Lesson: Interfaces and Inheritance[Interfaces]
Interface이전 강의에서 인터페이스 구현의 예를 보았습니다. 여기에서 인터페이스에 대한 자세한 내용을 읽을 수 있습니다. 인터페이스의 용도, 인터페이스를 작성하려는 이유, 작성 방법 등이 있습니다. Inheritance이 섹션에서는 특정 클래스를 다른 클래스에서 파생시키는 방법을 설명합니다. 즉, 하위 클래스가 상위 클래스의 필드와 메서드를 상속할 수 있는 방법입니다. 모든 클래스가 Object 클래스에서 파생된다는 사실과 하위 클래스가 슈퍼클래스에서 상속하는 메서드를 수정하는 방법을 배우게 됩니다. 이 섹션에서는 인터페이스와 유사한 추상 클래스도 다룹니다. Interface소프트웨어 엔지니어링에는 서로 다른 프로그래머 그룹이 소프트웨어가 상호 작용하는 방식을 설명하는 "계약[contact]"에 동..
2024.06.03 -
Using Java Reflection
Using Java Reflection 리플렉션은 자바 프로그래밍 언어의 기능 중 하나입니다. 이를 통해 실행 중인 자바 프로그램이 스스로를 검사하거나 "Introspect"하고, 프로그램의 내부 속성을 조작할 수 있습니다. 예를 들어, 자바 클래스가 모든 멤버의 이름을 얻어 이를 표시하는 것이 가능합니다."Introspect"는 프로그램이 실행 중에 자기 자신을 검사하고 그 내부 구조나 속성에 대해 정보를 얻는 능력을 의미합니다. 자바에서 리플렉션을 통해 수행되는 이러한 자기 검사는 "introspection"이라고 부릅니다. 구체적으로 introspection은 다음과 같은 작업을 포함할 수 있습니다: 1. 클래스 구조 탐색: 클래스의 이름, 패키지, 부모 클래스, 구현된 인터페이스 등을 얻을 수 있..
2024.05.27 -
자바 람다의 "타겟 타입(Target Type)"이란?
람다의 타겟 타입(Target Type)은 자바에서 람다 표현식이 작동하는 핵심 개념 중 하나로,람다를 사용할 수 있는 맥락과 타입 추론이 어떻게 이뤄지는지를 이해하는 데 중요합니다.🎯 자바 람다의 "타겟 타입(Target Type)"이란?✅ 정의람다 표현식은 단독으로는 타입이 없습니다.람다는 어떤 인터페이스에 대입되느냐에 따라 타입이 결정되며, 이 인터페이스 타입을 "타겟 타입(Target Type)"이라고 부릅니다. 자바에서 람다는 함수형 인터페이스(Functional Interface)에만 대입 가능하며,람다가 대입되는 함수형 인터페이스가 곧 람다의 타겟 타입입니다.📌 예제 1 – 기본적인 타겟 타입 사용@FunctionalInterfaceinterface Printer { void pri..
2024.05.27 -
Lesson: Classes and Objects [Objects, More on Classes]
Objects일반적인 자바 프로그램은 많은 객체를 생성하며, 이 객체들은 메서드를 호출하여 상호 작용합니다. 이러한 객체 상호 작용을 통해 프로그램은 GUI 구현, 애니메이션 실행, 네트워크를 통한 정보 송수신 등 다양한 작업을 수행할 수 있습니다. 객체가 생성된 목적을 다하면, 해당 객체의 자원은 다른 객체에서 재사용할 수 있도록 회수됩니다. 다음은 CreateObjectDemo라는 작은 프로그램으로, 이 프로그램은 하나의 Point 객체와 두 개의 Rectangle 객체를 생성합니다. 이 프로그램을 컴파일하려면 세 개의 소스 파일이 모두 필요합니다.public class Point { public int x = 0; public int y = 0; // a constructor! pu..
2024.05.27 -
Lesson: Classes and Objects [Classes]
이제 자바 프로그래밍 언어의 기본에 대한 지식을 갖추었으므로, 자신만의 클래스를 작성하는 방법을 배울 수 있습니다. 이 수업에서는 멤버 변수[필드], 메서드, 생성자를 선언하는 것을 포함하여 자신의 클래스를 정의하는 방법에 대한 정보를 제공합니다. 자신의 클래스를 사용하여 객체를 생성하고, 생성한 객체를 사용하는 방법을 배우게 됩니다. 이 수업에서는 또한 클래스 내에 다른 클래스를 중첩[nested]시키는 방법과 열거형(enum)에 대해서도 다룹니다. Classes객체 지향 개념을 소개하는 수업에서는 자전거 클래스(bicycle class)를 예제로 사용했으며, 경주용 자전거, 산악 자전거, 탠덤 자전거를 하위 클래스(subclass)로 예시했습니다. 다음은 클래스 선언 개요를 제공하기 위한 자전거 클래..
2024.05.27 -
Lesson: Control Flow Statements
소스 파일 내부의 statements은 일반적으로 위에서 아래로, 순서대로 실행됩니다. 그러나 제어 흐름 statements은 결정 만들기, 반복, 분기를 사용하여 실행 흐름을 분할함으로써 프로그램이 조건부로 특정 코드 블록을 실행할 수 있도록 합니다. 이 섹션에서는 자바 프로그래밍 언어가 지원하는 결정-만들기 statement(if-then, if-then-else, switch), 반복 statement(for, while, do-while), 그리고 분기[branch] statement(break, continue, return)에 대해 설명합니다.※ "if-then"이라는 용어는 if 조건문의 조건이 참(true)일 경우 실행될 코드 블록을 실행한다는 의미입니다. 자바에서는 이 구조를 중괄호 {}..
2024.05.08