본문 바로가기

전체 글

(57)
자바 (Collection Framework) 컬렉션 프레임워크(Collection Framework)란? : 배열을 사용하다 보면 여러가지 비효율적인 문제가 생긴다. 가장 큰 문제점은 크기가 고정적이라는 것이다. 배열의 크기는 생성할 때 결정되며 그 크기를 넘어가게 되면 더이상 데이터를 저장할 수 없다. 또한 데이터를 삭제하면 해당 인덱스의 데이터는 비어있어 메모리가 낭비되는 등 여러 문제점들이 발생한다. 그렇기에 자바는 배열의 이러한 문제점을 해결하기 위해, 널리 알려져 있는 자료구조를 바탕으로 객체나 데이터들을 효율적으로 관리(추가, 삭제, 검색, 저장)할 수 있는 자료구조들을 만들어 놓았다. 이러한 자료구조들이 있는 라이브러리를 컬렉션 프레임워크라고 한다. 대표적으로는 List, Set, Map, Stack, Queue 등이 있는데, 오늘은 ..
자바_커피 머신 구현 오늘은 자바로 아주 간단하게 커피 머신을 만들어 보도록 하겠습니다. 내용은 대충 이렇습니다. 커피 머신에 4종류의 커피가 들어 있고, 먹고 싶은 종류를 클릭하면 해당 커피가 출력되는 형태입니다. 이때 배열의 각 인덱스에 있는 커피 위치는 동적으로 할당할 수 있습니다. 다시 말해, 인덱스 0에 아메리카노를 지정해 놓아도 본인이 그 위치에 다른 것을 할당하고 싶으면 바꿀 수 있습니다. public class CoffeeMC { private Button btns[] = new Button[4]; // 버튼 추가 기능 public void addButton(int _idx, Button _btn) { if (_idx btns.length) return; btns[_idx] = _btn..
자바 기초(상속_다형성) 1. 다형성(Polymorphism)이란? 1) 여러가지 형태를 가질 수 있는 것 2) 하나의 메소드나 클래스가 있을 떄 이것들이 다양한 방법으로 동작하는 것 3) 하나의 참조변수로 여러 타입의 객체를 참조할 수 있는 것 즉, 조상타입의 참조변수로 자손타입(상속관계)의 객체를 다룰 수 있는 것이 다형성의 기본 개념이다. 2. 다형성 구현 방법 바로 예시를 들어 설명하겠다. ex) class Animal{ public void move(){ System.out.println("동물이 움직입니다."); } } class Human extends Animal{ public void move(){ System.out.println("사람이 두 발로 뜁니다."); } } class Tiger extends Ani..
자바 기초(상속) 1. 상속(Inheritance)이란? - 상속(inheritance)이란 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미한다. 이러한 상속은 캡슐화, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나다. - 상속을 이용하면 기존에 정의되어 있는 클래스의 모든 필드와 메소드를 물려받아, 새로운 클래스를 생성할 수 있다. 이때 기존에 정의되어 있던 클래스를 부모 클래스(parent class) 또는 상위 클래스(super class), 기초 클래스(base class)라고도 한다. - 그리고 상속을 통해 새롭게 작성되는 클래스를 자식 클래스(child class) 또는 하위 클래스(sub class), 파생 클래스(derived class)라고도 한다. ..
자바스크립트 기초(내장 객체) 1. Number 객체 MAX_VALUE = 자바스크립트에서 표현 가능한 최대 숫자 MIN_VALUE = 자바스크립트에서 표현 가능한 최소 숫자 2. String 객체 length: 문자열의 길이를 표시 chartAt() : 해당 인덱스 문자 반환 charCodeAt() : 해당 인덱스 문자를 유니코드로 반환 concat() : 해당 인덱스 문자를 유니코드로 반환 indexOf() : 앞에서부터 일치하는 문자열의 인덱스를 반환 lastIndexOf() 뒤에서부터 일치하는 문자열의 인덱스를 반환 String.replace (): 특정 문자열을 지정하고 다른 문자열로 치환 search(regExp) : regExp와 일치하는 문자열의 위치 반환 slice() : 원래문자열은 수정하지않고 새문자열로 반환한다...
자바 기초(배열) 1. 배열(Array)이란? : 동일한 자료형(Data Type)의 데이터를 연속된 공간에 저장하기 위한 자료구조이다. 즉, 연관된 데이터를 그룹화하여 묶어준다고 생각하면 된다. 2. 배열(Array)의 장점 : 연관된 데이터를 저장하기 위한 변수의 선언을 줄여주며, 반복문 등을 이용하여 계산과 같은 과정을 쉽게 처리할 수 있다. 3. 배열(Array) 선언 및 초기화 //크기 할당 & 초기화 없이 배열 참조변수만 선언 int[] arr; int arr[]; // 선언과 동시에 배열 크기 할당 int[] arr = new int[5]; String[] arr = new String[5]; // 기존 배열의 참조 변수에 초기화 할당하기 int[] arr; arr = new int[5]; //5의 크기를 가..
자바 기초(Static) 1. 정적(Static)이란? - static 이란 '정적인' 이라는 의미를 갖고 있다. 자바에서는 클래스에 고정된 멤버이다. (그래서 클래스 멤버라고도 부름) - static 멤버들은 클래스에 고정된 멤버이기 때문에 클래스 로더가 클래스를 로딩하면 메모리에 할당 시켜준다. (클래스 로딩이 끝나면 바로 사용할 수 있다는 의미임) 2. 왜 static을 사용할까? - static은 전역적으로 쉽게 재사용하는 멤버나 잘 변하지 않는 변수 혹은 메소드를 사용할 때 주로 사용된다. 만들어 놓고 클래스 호출, 객체 생성을 따로 할 필요없이 바로바로 사용할 수 있기 때문에 편리하다. - 하지만 static은 메모리 자원을 할당해 놓고 사용하는 것이기 때문에 너무 많이 사용한다면 메모리를 많이 차지하게 되어서 프로그..
자바스크립트 기초(상속) 상속(Inheritance)이란? - 자바스크립트의 상속은 기존의 객체나 생성자 함수를 기반으로 새로운 객체나 생성자 함수를 생성하는 것을 말한다. - 기존의 객체를 바탕으로 만들어지므로 상속을 통해 새로 만들어지는 객체에는 기존 객체의 특성을 모두 가지고 있다. - 이를 기존의 객체에서 유산(속성과 메서드)을 물려받는 것과 비슷하다고 하여 상속이라는 말을 사용한다. - 다시 말해, 상속을 사용하면 이전에 만들었던 객체와 비슷한 객체를 쉽게 생성할 수 있습니다. class Origin{ constructor(value){ this.value = value; } method01(){ console.log("메소드01 호출했다!") } method02(){ console.log("메소드02 호출했다!") }..