저번 게시물에서 ArrayList를 다뤘었다. 오늘은 java.util에 존재하는 또다른 클래스인 HashMap에 대해 알아보자. [ HashMap ] - key : value 형태로 데이터를 저장할 수 있다. - Python의 딕셔너리와 유사하다. - key의 type은 String으로 가장 많이 사용한다. (Integer을 사용하기도 한다.) - value의 type은 여러 type을 섞어 담을거면 Object로 지정하면 된다. 주요 메소드 .put(key, value) //원소 삽입 .get(key) //key에 해당하는 value 가져오기 .remove(key) //key에 해당하는 key와 value 삭제하기 .isEmpty() //비어있는지 여부 .clear //모두 삭제 예제를 통해 자세히 ..
java.util에는 여러 클래스가 존재한다. 이번 게시물에서는 java.util에 존재하는 여러 클래스들 중 ArrayList에 대해 다뤄보도록 하겠다. [ ArrayList ] 자바의 배열을 다룰 때, 자바의 배열은 방의 크기를 조정할 수 없어 효율성이 떨어진다고 배웠었다. 따라서, 가변배열 객체인 ArrayList에 대해 공부해보려 한다. ArrayList는 List 인터페이스를 구현한 클래스이다. 따라서 다음과 같은 형식으로 작성할 수 있다. ArrayList 작성 예시 List names = new ArrayList(); 주요 메소드 .gett(index) //해당 인덱스의 값 가져오기 .add(item) //원소 추가 .set(index, item) //특정 인덱스의 값 수정 .remove(i..
Generic이란, 메소드에서 사용할 데이터 타입을 나중에 확정하는 기법이다. 메소드나 클래스를 선언할 때가 아니라, 인스턴스를 생성하거나 메소드를 호출할 떄, 즉 "사용할 때" 정한다는 의미이다. Generic을 사용하면 type을 지정하기 때문에, casting 등을 통한 타입 변환이 필요 없어 프로그램 성능이 향상되는 효과를 얻을 수 있다. 예제를 통해 쉽게 알아보자. Apple.java package test.mypac; public class Apple { } Orange.java package test.mypac; public class Orange { } Banana.java package test.mypac; public class Banana { } 사과를 담을 FruitBox 클래스를 ..
이번에는 인터페이스에 대해 다뤄보려 한다. 인터페이스의 특징은 다음과 같다. [ 인터페이스 ] - 생성자가 없다. (단독 객체 생성 불가) - 완성된(구현된) 메소드는 가질 수 없다. (추상 메소드만 가질 수 있다.) - 필드는 static final 상수만 가질 수 있다. - data type의 역할을 할 수 있다. - interface type의 참조값이 필요하면 구현(implements) 클래스를 만들어 객체를 생성해야 한다. - 클래스 상속은 단일 상속이지만, 인터페이스는 다중 구현이 가능하다. 인터페이스는 일종의 추상 클래스로 추상 메소드를 갖지만 추상화 정도가 더 높아, 추상 클래스와 달리 일반 메소드, 멤버 변수를 구성원으로 가질 수없다. 따라서, 미완성 설계도라 불리는 추상 클래스와 달리 ..
오늘은 저번 게시물에 이어 추상클래스에 대해 더욱 알아보려 한다. 저번 게시물은 아래 링크에!! https://live-for-myself.tistory.com/94 [Java] 추상 클래스 Abstract Class #1 자바에는 "추상 클래스"라는 것이 존재한다. 미완성된 메소드를 하나 이상 포함하는 클래스를 추상 클래스라 하는데, 이때 미완성된 클래스를 "추상 메소드" 라고 한다. 추상 클래스의 특징에는 live-for-myself.tistory.com 1. "내부 클래스 inner class" Zoo.java - Zoo 클래스 안의 내부 클래스 Monkey와 Tiger package test.mypac; public class Zoo { //메소드 public Monkey getMonkey() {..
자바에는 "추상 클래스"라는 것이 존재한다. 미완성된 메소드를 하나 이상 포함하는 클래스를 추상 클래스라 하는데, 이때 미완성된 클래스를 "추상 메소드" 라고 한다. 추상 클래스의 특징에는 다음과 같은 것들이 있다. [ 추상 클래스 (Abstract Class) ] - class 예약어 앞에 abstract를 명시해서 클래스를 정의한다. - 형태만 정의되고 실제 구현은 되지 않은 메소드가 존재할 수 있다. - 형태만 정의된 메소드를 만들 때는 abstract 예약어를 붙여 메소드를 정의한다. - 생성자는 존재하지만 단독으로 객체 생성은 불가능하다. - 추상클래스 Type의 id가 필요하다면 추상 클래스를 상속받은 자식클래스를 정의해서 객체를 생성한다. - 추상클래스를 상속받은 자식클래스는 부모의 추상 메..
final 예약어는 지역변수를 선언할 때 사용하면 해당 지역변수를 수정할 수 없도록 만든다. 한번 값이 고정되면 값을 바꿀 수 없도록 하는 것으로, 모든 영역에서 상수로 사용되는 static final과 유사하지만 조금의 차이가 있다. 식별자는 관례상 모두 대문자로 만드는 것이 일반적이다. 사용 예시 final int num2 = 20; final String MY_NAME = "김구라"; final Phone p1 = new Phone(); 예시1 MainClass13.java - final을 다양한 type의 자료형에 사용해보기 package test.main; import test.mypac.Phone; public class MainClass13 { public static void main(St..
자바에는 public, protected, private, 그리고 작성을 생략하는 default의 4가지 접근지정자가 있다. 각각의 특성을 살펴보자. [ 접근 지정자 ] * public : 어디에서든 접근 가능 * protected : 같은 package 안에서 접근 가능하고, package가 달라도 상속 관계이면 접근 가능 * default(접근 지정자를 생략한 경우) : 같은 package 안에서만 접근 가능 * private : 같은 클래스 혹은 같은 객체 안에서만 접근 가능 - 접근 지정자를 붙이는 곳 1. 클래스 (해당 클래스를 import 할 수 있는지 여부를 결정한다.) 2. 생성자 (해당 생성자를 호출해서 객체를 생성할 수 있는지 여부를 결정한다.) 3. 필드 (해당 필드를 참조할 수 있는..
- Total
- Today
- Yesterday
- web
- bootstrap
- 파이썬
- brute force
- python
- 정렬
- CSS
- Java
- 브루트 포스
- append
- 장고
- Case When
- Django
- jsp
- 고득점 키트
- 덱
- 스프링
- 문자열
- jQuery
- html
- baekjoon
- 프로그래머스
- 큐
- 자바
- 백준
- 단계별로풀어보기
- 자바스크립트
- R
- javascript
- Oracle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |