JAVA(77)
-
java.lang
java.lang package 자바가 기본적으로 제공하는 라이브러리(클래스 모음) 중, 가장 기본이 되는 패키지이다. lang은 Language의 약어. 즉, 자바 언어를 이루는 가장 기본이 되는 클래스 보관하는 패키지 되시겠다. 대표적인 Class Object - 모든 자바 클래스의 최상위 클래스 String - 문자열 Integer, Long, Double - 래퍼 타입(=기본형(Primity Type)을 객체로 만든 것) Class - 클래스 메타 정보 (클래스 이름, 갖고 있는 메서드 정보 등 클래스를 이루는 기본 내용) System - 시스템과 관련된 기본 기능 제공 자바라는 언어의 근간과 같으므로 반드시 자아알~ 알아두자. import 생략 java.lang 패키지는 모든 자바 applica..
2024.04.04 -
Generics_제약
1. 타입 변수에 넣는 타입은, 인스턴스 별로 다르게 대입 가능하다. ex) Zoo DogArea = new Zoo(); Zoo CatArea = new Zoo(); - static 멤버에 타입 변수는 사용할 수 없다. ex> class Zoo { static T animal;// 에러 발생 static int compare(T t1, T t2){...}// 에러 발생 } 왜 그럴까? 타입 변수에 대입하는 타입은 인스턴스 별로 다르게 대입 가능하다고 했다. static에 타입변수? static에 대해 잠시 복기 해보자. static 키워드 사용 위치 = class, method, field 저장위치 = 클래스(메서드) 메모리 영역 클래스 메모리 영역 특징 - 프로그램 실행 시 static 키워드가 사용된..
2024.03.21 -
Generics_제한
Generic 클래스에 타입 변수를 지정할 때, extends 를 통해 타입에 제한을 둘 수 있다. public class Zoo { ArrayList list = new ArrayList(); } 위와 같이 작성하면 타입변수 에는 Animal 의 자손 클래스만 입력 가능해진다. public class Animal { } public class Dog extends Animal{ } public class LimitedGeneric { public static void main(String[] args) { Zoo dogPark = new Zoo(); // Zoo RadioPark = new Zoo();// 컴파일 에러. } } 허용된 타입 외의 정보를 넣으려 하면, 컴파일 단계에서 걸러낼 수 있다. /..
2024.03.21 -
Optional<T>
강의 학습 중, Optional 이 자주 사용되고 있어 알아보고자 한다. java.util public final class Optional A container object which may or may not contain a non-null value. If a value is present, isPresent() returns true. If no value is present, the object is considered empty and isPresent() returns false. Additional methods that depend on the presence or absence of a contained value are provided, such as orElse() (returns..
2024.02.23 -
컬렉션_TreeSet
TreeSet TreeSet은 범위 탐색, 정렬에 특화 돼 있다. 이진 탐색 트리(binary search tree)로 구현 돼 있다. 이진 트리는 모든 노드가 최대 2개의 하위 노드를 갖는다. 각 요소(Node)가 나무(tree) 형태로 연결된다.(LinkedList 의 변형으로 생각하면 편함) class TreeNode{ TreeNode left; Object element; TreeNode right; } 링크드 리스트랑 비슷하다 private static class Node { E item; Node next; Node prev; } LinkedList 의 Node는 이전, 이후 노드 정보를 갖지만, TreeSet 의 Node 는 Left, Rgiht 로 하위 노드를 갖는다. (하위 Node에서 ..
2024.02.20 -
컬렉션_HashSet_2
HashSet은 객체를 저장하기 전, 기존에 중복되는 객체가 있는지 확인한다. Set 특징은 뭐다? 중복 허용을 안 한다! 따라서 위의 작업을 거쳐야만 한다. boolean add(Obejct o)는 저장할 객체의 equals()와 hashCode()를 호출한다. equals() 와 hashCode()가 오버라이딩 되어 있어야 한다. equals() - 같은 객체인지 확인 hashCode() - 해당 객체의 해시 코드 값을 반환 public class HashSet_3 { public static void main(String[] args) { HashSet set = new HashSet(); set.add("abc"); set.add("abc"); set.add(new Person("David", 1..
2024.02.20