High Level Programming Language/Learning the Java Language(39)
-
Lesson: Interfaces and Inheritance[Inheritance]
Inheritance이전 강의에서 상속이 여러 번 언급되는 것을 보았습니다. Java 언어에서 클래스는 다른 클래스에서 파생될 수 있으므로 해당 클래스의 필드와 메서드를 상속받을 수 있습니다.정의: 다른 클래스에서 파생된 클래스를 하위 클래스(파생 클래스, 확장 클래스 또는 하위 클래스라고도 함)라고 합니다. 하위 클래스[자식 클래스]로 파생되는 클래스[부모 클래스]를 슈퍼클래스(기본 클래스 또는 부모 클래스라고도 함)라고 합니다.슈퍼클래스가 없는 Object를 제외하고 모든 클래스는 오직 단 하나의 Direct Super Class(단일 상속)를 갖습니다. 다른 명시적인 슈퍼클래스가 없으면 모든 클래스는 암시적으로 Object의 하위 클래스입니다.※ Direct Super Class란? 상속 계층 구조..
2024.06.03 -
Lesson: Interfaces and Inheritance[Interfaces]
Interface이전 강의에서 인터페이스 구현의 예를 보았습니다. 여기에서 인터페이스에 대한 자세한 내용을 읽을 수 있습니다. 인터페이스의 용도, 인터페이스를 작성하려는 이유, 작성 방법 등이 있습니다. Inheritance이 섹션에서는 특정 클래스를 다른 클래스에서 파생시키는 방법을 설명합니다. 즉, 하위 클래스가 상위 클래스의 필드와 메서드를 상속할 수 있는 방법입니다. 모든 클래스가 Object 클래스에서 파생된다는 사실과 하위 클래스가 슈퍼클래스에서 상속하는 메서드를 수정하는 방법을 배우게 됩니다. 이 섹션에서는 인터페이스와 유사한 추상 클래스도 다룹니다. Interface소프트웨어 엔지니어링에서 여러 프로그래머 그룹이 협업할 때, 서로의 코드가 어떤 식으로 소통할지에 대한 약속(또는 계약이라고도..
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