본문 바로가기

Backend - Java Spring/JAVA_강의35

[JAVA얄코] 제네릭 타입 1. 제네릭 - 자료형을 필요에 따라 동적으로 정할 수 있도록 해준다. - 자료형을 변수로 갖는다고 이해하면 된다. - 메소드 또는 클래스에 사용한다. 2. 예제 - T라는 타입의 형을 받아서 pickRandom 메소드를 다양하게 사용할 수 있다. - T라는 타입의 이름을 지정해준 경우 T의 자리에는 모두 같은 타입이 들어가야 한다. - 아래와 같이 array에도 사용이 가능하다. 3. 제네릭 클래스 - 원하는 자료형들로 세개의 필드를 갖는 클래스 - 천천히 읽어보자 4. 제한된 제네릭 - 근데 이 기능이 있는 이유는 - 아래와 같이 타입의 제한을 동적으로 두기 위해서이다. 5. 실무에서의 예제 6. 와일드카드 - 제네릭 클래스에 대한 다형성 - 2023. 11. 28.
[JAVA얄코] Wrapper 클래스들 1. Wrapper 클래스들 - 각 원시 자료형에는 그에 해당하는 래퍼클래스가 있다. - 해당 자료형에 관련된 기능들을 제공한다. - 각 자료형의 원시값은 해당 래퍼 클래스의 인스턴스와 서로 변환이 가능하다. 2. 박싱과 언박싱 - 박싱 : 원시값을 래퍼 클래스의 인스턴스로 - 언박싱 : 래퍼 클래스의 인스턴스를 원시값으로 - 명시하지 않아도 자동으로 해주므로 굳이 안해도 됨 3. 다양한 래퍼클래스의 기능들 - Integer int1 = Integer.valueOf(""); : 문자열로부터 인스턴스 반환 - int int2 = Integer.parseInt(""); : 문자열로부터 원시값 반환 (x진수 반환 가능) - Byte int1Byt = int1.byteValue(); : 숫자 자료형 간 변환 가.. 2023. 11. 27.
[JAVA얄코] 모든 클래스의 조상 Object 1. Object - 모든 클래스의 조상 - 필드 없이 메소드들만 가지고 있음 - 필요에 따라 @Override 하여 사용 2. Method - .toString() : 기본적으로는 클래스명과 해시값을 반환, println 메소드로 출력 시 이 메소드를 이용함 - .equals() : 기본적으로는 '==' 과 같이 레퍼런스 비교. 인스턴스 내용을 비교하려면 클래스마다 Override 해야함(instanceof 로 Override해야 인스턴스비교가 가능) - .hashCode() : 기본적으로는 각 인스턴스 고유의 메모리 위치값을 정수로 반환 - .clone() : 인스턴스(참조형)가 스스로를 복사하기 위해 사용. Cloneable 인터페이스 구현을 권장한다. 깊은 복사는 직접 Override로 구현해야한.. 2023. 11. 27.
[JAVA얄코] 유용한 라이브러리 클래스 1. Math - 수학 관련 - 인스턴스를 만들 수 없음 (만들 필요가 없다) - JS랑 똑같이 써보고 검색해서 쓰면 된다. 거의 똑같음 2. BigInteger - 아주 큰 정수를 다룰 수 있다. 3. BigDecimal - 부동소수점 오차를 해결 할 수 있다. - 십진법 소수점 알고리즘을 사용한다. 4. StringJoiner - 문자열을 쉽게 다룰 수 있다. (Join을 쉽게 할 수 있다. delimiter, prefix, suffix 를 설정할 수 있다.) 5. StringBuffer - 문자열을 더할 때 메모리에 할당하지 않으므로 메모리누수가 나지 않는다. - 효율적이고 성능상 유리하다. - 문자열 수정 관련 다양한 메소드들을 가지고 있다. - 멀티쓰레드 관련 기능을 제공한다. - 단일쓰레드에서.. 2023. 11. 27.
[JAVA얄코] 레코드 1. 레코드 - 데이터 묶음을 저장하기 위한 단순한 형태의 클래스 - C의 구조체같은 비슷한 것 - getter가 자동으로 생성된다. - 인스턴스 필드를 가질 수 있다. - 클래스 필드는 가능하다. - 메소드는 가질 수 있다. 2. 예제 - Button Class를 유심히 볼 것 - record 도 참조형이다. 2023. 11. 27.
[JAVA얄코] 열거형(enum) 1. 열거형 - 특정 자료형만 나열할 수 있는 형태 - 아래와같이 사용 가능 2. enum의 추가적인 기능 - 클래스처럼 필드, 메소드 등을 가질 수 있다. - 아래는 사용 방법 2023. 11. 27.
[JAVA얄코] 익명 클래스 1. 익명 클래스 - 다른 클래스나 인터페이스로부터 상속받아 만들어짐 - 한번만 사용되고 버려질 클래스 - 이후 다시 인스턴스를 생성할 필요가 없으므로 - 람다식이 나오기 전에 널리 사용 - 함수형 프로그래밍에서 널리 사용된다. 2023. 11. 27.
[JAVA얄코] 내부 클래스 1. 내부 클래스 - 다른 클래스 안에 선언되는 클래스 - 멤머 인스턴스 , 정적 내부 클래스 , 메소드 안에 정의된 클래스 , 익명클래스 가 있다. 2. 예제 - Outer 클래스의 메소드 부분 - 적재적소에 신중하게 사용해주어야 한다. 3. 예제2 - YalcoChicken.java - Main.java - 외부에 클래스를 따로 두는 것보다 훨씬 가독성과 관리성이 좋아진다. 2023. 11. 27.