전체 글 67

#17일차 (4) [Java] Collection Framework

컬렉션 프레임워크란?  > 컬렉션이란 여러 데이터의 집합을 의미한다. 여러 데이터를 그룹으로 묶어놓은 것을 컬렉션이라고한다.  > 컬렉션을 다루는 데에 있어 편리한 메서드들을 미리 정의해 놓은 것을 컬렉션 프레임워크라고 한다.  > 특정 자료 구조에 데이터를 추가하고, 삭제하고, 수정하고, 검색하는 등의 동작을 수행하는 편리한 메서드들을 제공해준다.    List   > 배열과 같이 객체를 일렬로 늘어놓은 구조로 되어 있습니다. 객체를 인덱스로 관리하기 때문에 객체를 저장하면 자동으로 인덱스가 부여되고, 인덱스로 객체를 검색, 추가, 삭제할 수 있는 등의 여러 기능을 제공한다.  메서드기능리턴 타입메서드설명객체 추가voidadd(int index, Object element)주어진 인덱스에 객체를 추가b..

공부기록/Java 2024.12.03

#17일차 (3) [Java] 예외 처리 ( Exception Handling )

예외 처리란? > 프로그램의 비정상적인 종료를 방지하고, 정상적인 실행 상태를 유지하기 위한 것.  - 에러 또는 예외는 내부적인 요인과 외부적인 요인으로 구분할 수 있다.  컴파일 에러와 런타임 에러  - 컴파일 에러 : 컴파일할 때 발생하는 에러 - 런타임 에러 : 런타임 시에 발생하는 에러  - error 에러란 한번 발생하면 복구하기 어려운 수준의 심각한 오류를 의미하고 대표적으로 메모리부족과 스택오버플로우 등이 있다. - 예외는 잘못된 사용 또는 코딩으로 인한 상대적으로 미약한 수준의 오류로서 코드 수정 등을 통해 수습이 가능한 오류를 지칭한다. (예외는 개발자가 핸들링 가능하다.)  예외 클래스의 상속 계층도  > 모든 예외의 최고 상위 클래스인 Exception 클래스는 크게 일반 예외 클래..

공부기록/Java 2024.12.03

#17일차 (2) [Java] Collection - Generic

Generic (제네릭) 이란?  > 타입을 구체적으로 지정하는 것이 아니라, 추후에 지정할 수 있도록 일반화해 두는 것 > 작성한 클래스 또는 메서드의 코드가 특정 데이터 타입에 얽매이지 않게 해 둔 것을 의미 > 제네릭 클래스에는 static 키워드를 사용할 수 없는데 이는 static 키워드를 사용하면 모든 객체가 공유하기 때문이다. class Basket { private T item; public Basket(T item) { this.item = item; } public T getItem() { return item; } public void setItem(T item) { this.item = item; }}  - ..

공부기록/Java 2024.12.03

#17일차(1) [Java] Collection - Enum

열거형 (Enum)  > 열거형 ( enum : enumerated type )은 여러 상수들을 보다 편리하게 선언할 수 있도록 만들어진 자바의 문법요소. > 몇 가지로 한정된 변하지 않는 데이터를 다루는 데 사용한다.  - public static final 을 통해 전역변수로 상수를 설정했던 예전에는 정수값을 통해서 상수를 할당 -> 상수 명이 중복되는 경우가 발생 -> 그를 피하기 위해 인터페이스를 사용하여 상수를 구분하여 일차적으로 해결  ->  타입 안정성이라는 새로운 문제 발생// 상수를 정수타입으로 선언하면 상수의 이름이 중복되는 경우 발생public static final int SPRING = 1;public static final int SUMMER = 2;public static fi..

공부기록/Java 2024.12.02

#16일차(2) OOP 다형성 예제

// 손님이 카페에 방문하여 커피를 소비하는 시나리오// 커피 클래스class Coffee{ int price; public Coffee(int price){ this.price = price; }}// 커피를 상속받는 아메리카노 클래스public class Americano extends Coffee{ public Americano(){ super(4000); // 상위클래스 생성자 호출 } public String toString(){ return "아메리카노"; }}// 커피를 상속받는 카페라떼 클래스public class CaffeLatte extends Coffee{ public CaffeLatte(){ ..

공부기록/Java 2024.11.28

# 16일차 [Java] OOP Advanced - 객체지향의 4대 특성 /11.27

객체지향의 4대 특성 캡슐화 : 데이터 보호 및 은닉상속 : 코드 재사용 및 계층 구조 형성추상화 : 핵심 정보만 모델링.다형성 : 유연한 코드 작성  상속 ( Inheritance ) 상속이란?  - 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법- 상위 클래스의 멤버(필드, 메서드, 내부 클래스)를 하위 클래스와 공유하는 것을 의미한다.- 서로 상속 관계에 있으면, 하위 클래스는 상위 클래스가 가진 모든 멤버를 상속받게 된다.- 자바에서는 단일 상속만 허용되는데 여러개를 상속받을 수 있는 경우는 상속받은 클래스를 상속받으면 더 상위의 클래스까지 상속 받는 형태가 된다.- 상속은 다형적 표현이 가능한데, 이는 하위 클래스 타입을 상위 클래스 변수에 할당할 수 있다. - 하위 클래스 타입..

공부기록/Java 2024.11.27

#15일차 (2) 텍스트 RPG 프로그램 만들어보기

- Unit 을 엔티티 처럼 따로 분리 ( 기능 제외 )package com.java.seb.lol_program;public class Unit { private String name; private int ad; private int def; private int hp; // 캐릭터의 기본 생성자에 입력받은 값을 대입하는 메서드 public Unit(String name, int ad, int def, int hp) { this.name = name; this.ad = ad; this.def = def; this.hp = hp; } // private이라서 접근할 수 없기 때문에 Getter, Setter 사..

공부기록/Java 2024.11.26

#15일차 [Java] OOP ( Object-Oriented Programming ) Basic - 클래스(Class), 객체(Object), 필드(Field), 메서드(Method), 생성자(Constructor), 내부 클래스(Inner Class) .11.26

OOP - 객체지향 프로그래밍  > 현실 세계의 사물이나 개념을 객체라는 단위로 모델링하여 프로그램을 설계하고 구현하는 방법론이다. > 무생물뿐만 아니라 사람과 동물, 심지어 눈에 보이지 않는 어떤 논리나 사상, 개념같은 무형의 대상들도 객체라는 범주에 포함될 수 있다. > 객체지향 프로그래밍은 실제 사물의 속성(state)과 기능(behavior)을 분석한 후에 프로그래밍의 변수와 함수로 정의함으로 실제 세계를 최대한 컴퓨터 프로그래밍에 반영하고자 하는 시도라고 할 수 있다.  클래스 ( class )- 클래스 명은 파스칼 케이스로 정의한다. -> 카멜케이스 + 첫글자 대문자- 객체를 생성하기 위한 설계도. 클래스는 속성(데이터)과 동작(메서드)를 정의한다.- 클래스를 통해 생성된 객체를 인스턴스 (i..

공부기록/Java 2024.11.26

알고리즘이란 ?

알고리즘이란 무엇인가 > 프로그래밍을 배우고 다양한 문제를 접하면서 간단한 알고리즘만 안다면 훨씬 더 쉽게 해결하는 경우가 있었기 때문에 한 번에 깊게는 아니더라도 차근차근 공부를 하다보면 보다 더 유용하게 다양한 범위에서 사용할 수 있을 것 같다.   - 알고리즘이란 ?  > 알고리즘이란 주어진 문제를 해결하기 위한 명확하고 정확한 절차나 규칙, 방법 등을 체계적으로 나열한 것.  > 프로그래밍에서 알고리즘은 특정 작업을 수행하거나 문제를 해결하기 위해 컴퓨터에게 지시하는 단계별 명령의 집합.  > 기본적인 정의를 넘어, 생각의 표현, 아이디어의 구현, 그리고 복잡성을 단순화하는 방법이라고 할 수 있따.  > 일상생활 속의 예를 들자면 조리법은 재료를 특정한 결과물인 완성된 요리로 변환하는 알고리즘이고..