본문 바로가기

전체 글322

JAVA List Set Map Java에서 List, Set, Map은 Java Collection Framework에서 데이터를 저장하고 관리하기 위해 제공하는 자료구조로 구분할 수 있다. List 순서가 있고, 중복을 허용하는 자료구조 저장공간이 필요에 따라 자동으로 늘어나는 가변적인 배열 ArrayList, LinkedList 등이 List의 구현체로 사용된다. 예시👉학생들의 성적을 저장하는 List ["John" : 90, "Mike" : 80, "Jane" : 95, "Mike" : 85] Set 순서가 없고, 중복을 허용하지 않는 자료구조 HashSet, TreeSet 등이 Set의 구현체로 사용된다. 예👉학생들의 이름을 저장하는 Set ["John", "Mike", "Jane"] Map Key-Value 형태로 데이터를 .. 2023. 5. 8.
20230508 수업내용😢😢😢 자바스크립트에서는 controls라는 요소를 사용으로 위에 사진처럼 음악을 재생할 수 있는 ui가 생성이 된다. 토끼이미지에 틀을 부여하고 그 틀을 눌렀을때 사운드가 재생되도록 하는 코드를 작성 해보았다. HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션이다. key값을 문자열 키값으로 해서 원하는 어떤 type이던지 value 도 저장할 수 있다. 여기서 키와 값은 모두 객체이다. 값은 중복 저장될 수 있지만 키는 중복 저장될 수 없다. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 덮어씌어진다. 키는 맵에 오직 유일하게 있어야 한다. 전체적으로 맵이라는 것은 키(key)와 값(valuse) 두 쌍으로 데이터를 보관하는 자료구조인데, 즉 같은 맵.. 2023. 5. 8.
JAVA Collection Java에서의 컬렉션(Collection)은 데이터를 유용하게 담기 위해 만들어 둔 인터페이스로 컬렉션 프레임워크라고도 부른다. 컬렉션은 데이터의 집합, 그룹을 의미하며, 라이브러리 방식으로 작동한다. 컬렉션 프레임워크는 다양한 인터페이스와 클래스를 제공한다. 이를 사용하여 데이터를 쉽게 조작할 수 있다. 컬렉션 프레임워크는 크게 List, Set, Map으로 구분된다. List : 순서가 있는 데이터의 집합이다. 데이터의 중복을 허용하며, ArrayList, LinkedList, Vector 등이 있다. Set : 순서가 없는 데이터의 집합이다. 데이터의 중복을 허용하지 않으며, HashSet, TreeSet 등이 있다. Map : key와 value로 구성된 데이터의 집합.key는 중복이 불가하며, .. 2023. 5. 8.
JAVA HashMap Java 에서 HashMap은 많이 사용되는 자료구조 중 하나로, key - value 쌍으로 데이터를 저장하는 해시테이블 자료구조를 구현한 클래스이다. HashMap은 내부적으로 배열과 링크드 리스트, 그리고 트리를 사용하여 데이터를 저장하며, key를 해시 함수롤 통해 해시값으로 변환한 뒤, 해당 값을 배열의 인덱스로 사용하여 데이터를 저장한다. 또한 해시 함수를 사용하여 빠르게 데이터를 검색한다. HashMap에는 다양한 메소드가 있다. put(key, value)👉 HashMap에 값을 추가하려면 put(key, value)메소드를 사용하면 된다. 선언 시 HashMap에 설정해준 타입과 같은 타입의 key와 Value값을 넣어야 하며 만약 입력되는 키 값이 HashMap 내부에 존재한다면 기존 .. 2023. 5. 8.
20230504 수업내용😶‍🌫️😶‍🌫️ 오늘도 첫 시작은 javascript로.. type 이 고정이 아니고 동적으로 지정 되도록하는 방법은 클래스 내부에서 사용할 공통된 타입을 만들어 준 후에 전달 받은 타입데로 사용자가 사용하도록 한다. 이것을 포괄 클래스라 한다. 포괄 클래스 클래스 안에서 사용하는 특정type을 고정하지 않고 클래스를 사용하는 시점에 type을 정할수 있다. 그 type의 이름은 사용자 마음대로 사용가능하다. 객체 생성시에 Generic 클래스는 생략 가능하다. java에서 배열은 크기를 조절할 수 없는 고정 배열이다. 따라서 동적으로 item을 추가하고 삭제하고 하는 작업을 하려면 일반배열은 사용할 수 없다. 그래서 해당 작업을 하려면 ArrayList 객체를 사용하면 된다. ArrayList의 데이터타입은 참조형 데.. 2023. 5. 4.
JAVA ArrayList ArrayList는 자바에서 제공하는 Collection Framwork의 일종으로, 동적인 크기를 가지는 배열이다. ArrayList는 List 인터페이스를 구현하며, 배열과 리스트의 장점을 모두 가지고 있다. ArrayList는 크기가 가변적이기 때문에, 배열과 달리 요소의 추가, 삭제, 삽입이 용이하다. ArrayList는 인덱스를 사용하여 요소에 접근할 수 있다. ArrayList는 포괄클래스를 사용하여, 타입 안정성을 보장한다. ArrayList의 기본 생성 문법👉 ArrayList arrayList = new ArrayList(); ArrayList 선언시 ArrayList에 타입을 명시해 주는 것이 좋으며, ArrayList에는 참조형 데이터타입만 가능하기 때문에 기본형타입들은 wrapper.. 2023. 5. 4.
JAVA Generic Class Generic Class는 포괄 클래스이다. 자바에서 클래스를 만들 때, 여러 기능을 한 번에 처리하는 클래스를 의미한다. 포괄 클래스를 사용하면 기능을 모듈화하여 코드를 간결하게 만들 수 있다. 예를 들어, 포괄 클래스를 사용하여 파일 입출력, 네트워크 통신, 문자열 처리 등 여러가지 기능을 한 번에 처리할 수 있다. 이렇게 기능을 모듈화하면 코드의 재사용성이 높아지며, 유지보수에도 용이하다. 하지만, 포괄 클래스를 사용할 때 주의 점이 있는데, 포괄 클래스는 여러 가지 기능을 한 번에 처리하기 때문에, 클래스의 크기가 커지고 복잡해질 수 있다. 이로 인해 클래스의 가독성이 떨어지고, 디버깅이 어려워질 수 있다. 따라서 기능이 많은 클래스는 여러 개의 작은 클래스로 분리하여 작성하는 것이 좋다. 자바에.. 2023. 5. 4.
JAVA Interface(작성중) 자식 클래스가 여러 부모 클래스를 상속받을 수 있다면, 여러 동작들을 다양하게 수행할 수 있다는 장점을 가지게 된다. 하지만 클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러가지 문제가 발생할 수 있어 자바에서는 클래스를 통한 다중 상속은 지원하지 않는다. 하지만 이런 다중 상속의 이점을 버릴 수는 없기에 자바는 인터페이스(interface)라는 것을 통해 다중 상속을 지원하고 있다. 인터페이스는 다른 클래스를 작성할 때 기본이 되는 틀을 제공하며, 다른 클래스 사이에 중간 매개 역할까지 담당하는 일종의 추상 클래스이다. 자바에서 추상 클래스는 추상 메소드뿐만 아니라 생성자, 필드, 일반 메소드도 포함하지만 인터페이스는 오로지 추상 메소드와 상수만 가질 수 있다. 자바에서 인터페이스를.. 2023. 5. 3.
JAVA 추상클래스와 인터페이스의 차이 추상 클래스와 인터페이스는 모두 추상 메서더를 사용할 수 있다는 공통점이 있다. 그러나 왜 이 두가지를 나누어서 사용 할까? 추상클래스와 인터페이스의 차이점을 이해하려면 먼저 추상 클래스와 인터페이스의 기능을 알아봐야 한다. 추상 클래스는 클래스의 구현부 내부에 추상 매서드가 하나 이상 포함되거나 abstract로 정의된 것을 말한다. 추상화를 하면서 중복되는 클래스 멤버들을 통합 및 확장할 수 있으며, 클래스간의 연관 관계를 구축하는 것에 초점을 둔다. 추상 클래스를 상속받은 클래스(하위 클래스)는 각 성질에 맞게 Overriding하여 사용하며, new 연산자를 사용하여 객체를 생성할 수 없다. 반면, 인터페이스는 추상클래스와 달리 인터페이스 내부의 메서드, 필드 등은 모두 public 상태이며, a.. 2023. 5. 3.