전체 글159 중첩 클래스 중첩(Nested) 클래스public class OuterClass { private String outerField = "Outer Field"; class InnerClass { void accessOuter() { System.out.println("Accessing: " + outerField); // 바깥 클래스의 멤버에 접근 } } public static void main(String[] args) { OuterClass outer = new OuterClass(); OuterClass.InnerClass inner = outer.new InnerClass(); inner.accessOut.. 2024. 8. 11. 열거형, 가변인자, 어노테이션 열거형public enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY}public class Main { public static void main(String[] args) { Day today = Day.MONDAY; if (today == Day.MONDAY) { System.out.println("Today is Monday."); } }}열거형이 등장하기 이전에는 자바는 열거형을 표현하기 위해서 상수에 이름을 붙여 사용하였습니다. 하지만 이러한 방식에는 예를 들어 남성은 1이고 고양이도 1이라는 상수로 만들었는데 switch문에서.. 2024. 8. 11. 컬렉션 프레임워크 컬렉션 프레임워크(Collection Framework)프레임워크란?프로그래머들이 쓸 수 있도록 정의된 클래스들의 모임입니다. 즉 자바 프레임워크는 개발자가 자바로 응용 프로그램을 쉽게 구축할 수 있도록 돕는 소프트웨어 플랫폼입니다.하지만 이것이 전부라면 라이브러리라고 불리게 됩니다. 컬렉션이란?데이터를 효율적으로 저장하고 조작하기 위한 자료구조와 알고리즘의 집합을 제공합니다. 자바 컬렉션은 다양한 자료구조를 지원하며, 각 자료구조는 특정 상황에서 효율적인 데이터 처리 방법을 제공합니다. 컬렉션 프레임워크란?즉 컬렉션 프레임워크란 자료구조와 알고리즘을 제네릭 기반의 클래스와 메소드로 미리 구현한 결과물입니다. 인터페이스 주요 메소드: add(), remove(), contains(), size(), i.. 2024. 8. 10. 제네릭 제네릭(Generics)// 제네릭 클래스 정의class Notepad { private T memo; public void setMemo(T memo) { this.memo = memo; } public T getMemo() { return memo; }}// 제네릭 클래스 사용public class Main { public static void main(String[] args) { Notepad stringBox = new Notepad(); stringBox.setMemo("Hello"); System.out.println(stringBox.getMemo()); // Hello .. 2024. 8. 10. Arrays 클래스 Arrays 클래스import java.util.Arrays;class Main { public static void main(String[] args) { int[] number = new int[] {2, 1, 4, 3, 6, 5}; // 정렬 Arrays.sort(number); // 1, 2, 3, 4, 5, 6 // 검색 int index = Arrays.binarySearch(number, 4); // 3 // 배열 복사 int[] newNumber = Arrays.copyOf(number, 7); // [2, 1, 4, 3, 6, 5, 0] .. 2024. 8. 9. StringTokenizer 클래스 StringTokenizer 클래스import java.util.StringTokenizer;public class Main { public static void main(String[] args) { // 기본 구분자 (공백) String str1 = "Java is fun to learn"; StringTokenizer st1 = new StringTokenizer(str1); String str2 = "1 + 2 - 3 * 4 / 5 ="; StringTokenizer st2 = new StringTokenizer(str2, "+-*/="); while (st1.hasMoreTokens()) { .. 2024. 8. 9. 래퍼 클래스 래퍼 클래스(Wrapper class)class Main { public static void main(String[] args) { int num = 5; Integer boxnum = Integer.valueOf(num); // 명시적 박싱 Integer autobox = num; // 자동 박싱 int nubox = boxnum.intValue(); // 명시적 박싱 int autonubox = autobox; // 자동 언박싱 }}자바의 래퍼 클래스(Wrapper Class)는 기본 데이터 타입(primitive data type)을 객체로 다룰 수 있도록 해주는 클래스입니다. 자바는 기본.. 2024. 8. 9. 메모리 모델과 Object 클래스 메모리 모델가상머신은 메모리 공간을 크게 3가지 영역으로 나뉩니다.메소드 영역(Method Area)스택 영역 (Stack Area)힙 영역 (Heap Area)메소드 영역(Method Area)인스턴스 생성 및 클래스 변수의 접근을 위해서 메모리 공간에 올려지는데 올려지는 메모리 공간을 메소드영역이라고 합니다.모든 클래스 데이터, 메소드 정보 및 상수 등이 여기 저장되어 프로그램이 실행될 때 필요에 따라 사용됩니다. 스택 영역 (Stack Area)각 스레드별로 메소드 호출 시마다 스택 프레임이 생성됩니다. 스택 프레임에는 지역 변수, 매개변수, 중간 결과 등이 포함됩니다.메소드 실행과 관련된 데이터를 관리하며, 메드 호출이 끝나면 스택 프레임은 제거됩니다. 힙 영역(Heap Area)모든 객체와 그 .. 2024. 8. 8. 인터페이스와 추상 클래스 인터페이스public interface Car { void run(); void stop(); default void Klaxon() { System.out.println("클락션"); }}class Volvo implements Car { @Override public void run() { System.out.println("달립니다."); } @Override public void stop() { System.out.println("멈춥니다."); } @Override public void Klaxon() { System.out.println("경적"); }}class Ma.. 2024. 8. 7. 이전 1 ··· 10 11 12 13 14 15 16 ··· 18 다음