컬렉션 프레임웍(Collections Framework) def: 데이터 그룹(群)을 저장하는 클래스들을 표준화한 것. 크게 3타입이 존재한다. List: 순서가 있는 데이터 집합 Set: 순서를 유지하지 않는 데이터 집합 Map: key와 value로 이루어진 데이터 집합 List와 Set은 공통점이 많아 추가적으로 Collection 인터페이스로 정의된다. (List와 Set이 Collection을 상속) ArrayList 기존의 배열과 다른 점 배열의 사이즈는 초기화 시 고정되기 때문에 변경이 불가하다. 하지만 ArrayList는 동적이어서 사이즈를 선언하지 않고 원소를 유동적으로 add, remove할 수 있다. 배열은 다차원이 가능하나 ArrayList는 불가하다. import java.util..
Today I Learned JAVA 정리 다형성 인터페이스 인스턴스와 참조변수의 연결 Today was 정리밖에 안한 것 같은데 왜이리 시간이 빨리 갔는지 모르겠는 하루 내일 예외처리를 정리해야겠다 그리고 내일부터 알고리즘을 두 문제씩 풀어야지! 자바는 배울수록 어려운 느낌. 특히 자바스크립트로 입문을 해서 그런지 내가 자바로 코딩을 하면 정말 여기저기서 빨간 줄이 뜬다. 그냥 뭔가 되겠거니 하고 코딩하면 안되겠구나 싶고 굉장히 엄격하게 생각해야 되는 느낌이다. 그렇지만 리액트랑 비슷한 부분도 많다. 사실 자바스크립트에서 리액트 배울 때는 갑자기 클래스나 슈퍼 같은게 나와서 굉장히 이상했는데, 자바를 배우니 비슷한 부분이 많았다. 컴포넌트끼리 관계를 맺어 상호작용하도록 하는 점도 유사하다. 다음주에는 ..
인터페이스(Interface) 인터페이스란 일종의 추상클래스인데, 추상클래스보다 추상화 정도가 높다. 추상클래스가 미완성 설계도라면 인터페이스는 기본 설계도이며, 다른 클래스 작성에 도움을 준다. 인터페이스에는 추상메서드와 상수만 올 수 있다. (일반 메서드와 상수가 아닌 변수는 올 수 없다) - 모든 멤버변수는 public static final 이어야하며 생략 가능 - 모든 메서드는 public abstract 이어야하며 생략 가능 예시 class FighterTest { public static void main(String[] args) { Fighter f = new Fighter(); } } class Fighter extends Unit implements Fightable { public ..
여러 타입의 객체를 배열로 다루기 예시 package com.Hazel; public class Main { public static void main(String[] args) { Buyer b = new Buyer(); b.buy(new TV()); b.buy(new Computer()); b.buy(new Audio()); b.summary(); } } class Product { int price; int bonuspoint; Product(int price) { this.price = price; bonuspoint = (int)(price / 10.0); } Product() {} } class TV extends Product { TV() { super(100); } public String..
Instanceof 참조변수의 인스턴스타입을 확인하며 boolean값을 반환. void work (Car c) { if(c instanceof FireEngine) { FireEngine fe = (FireEngine)c; fe.water(); ... } else if(c instanceof Ambulance) { Ambulance a = (Ambulance)c; a.siren(); ... } } Car 클래스의 참조변수 c가 어떤 인스턴스타입인지 확인하여 작업을 수행한다. 조상타입의 참조변수로는 실제 인스턴스 멤버들을 모두 사용할 수 없기 때문에 실제 인스턴스와 같은 타입의 참조변수로 형변환해야만 인스턴스의 모든 멤버를 사용할 수 있다. instanceof의 결과가 true면 그 타입으로 형변환해도 문..
다형성(polymorphism) def: 조상클래스 타입의 참조변수로, 자손클래스의 인스턴스를 참조할 수 있도록 한 것. // 예시 class TV { /* 내용 생략 */ } class captionTV extends TV { /* 내용 생략 */ } TV t = new CaptionTV(); // 조상 타입의 참조변수로 자손 인스턴스를 참조 captionTV ct = new TV(); // ERR!! 이 경우, t는 CaptionTV의 인스턴스이지만 TV타입의 참조변수이기 때문에 상속된 TV클래스에만 접근할 수 있다. 즉 TV클래스에서 정의되지 않고 captionTV에서만 정의된 인스턴스 멤버에는 접근할 수 없다. 그렇다면, captionTV타입의 참조변수로 정의하면 모든 멤버를 사용할 수 있을텐데 ..
Today I Learned JAVA 제어자 인터페이스 예외처리 JS Project detect 클릭 시 유효한 url이 아니면 alert하는 기능 추가 로그인 시 유효한 정보가 아니면 alert하는 기능 추가 favicon 및 타이틀 변경 Today was 자바를 복습을 열심히 못했더니 oop부분에 와서는 제대로 소화를 못하고 있는게 느껴진다. 자바 복습을 다시 열심히 하고 좀 더 자유자재로 쓸 수 있게 되면 알고리즘도 자바로 연습해야지! 어쨌든 부족하나마 deploy를 했고, (아직 고치고 싶은 부분도 많지만...) 지원서도 냈으니 내일은 코드 고치는 것보다는 알고리즘 연습이랑 자바 복습! 고치고 싶은 코드는 이슈로 정리해놓고 조금씩 고쳐야지(로딩 표시, popup 개선, 사이트 기능에 대한 안내 추..
- Total
- Today
- Yesterday
- JavaScript
- Conflict
- 자바
- SQL
- rxjs
- 인스턴스
- package.json
- 제네릭스
- GIT
- 포인터 변수
- jQuery
- this
- youtube data api
- 개발 공부
- 리덕스
- oracle
- Session
- til
- useEffect
- getter
- c언어
- react
- Java
- Data Structure
- 깃
- Redux
- Prefix Sums
- linkedlist
- 알고리즘
- CSS
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
