Life Developer
인생 개발자
Developer (136)
제네릭 타입의 상속

제네릭 타입을 부모클래스로 사용할 경우

 

타입 파라미터는 자식클래스에도 기술해야 한다. 

 

추가적인 타입 파라미터를 가질수 있다. (부모가 제네릭이면 자식도 제네릭이다. 자식은 타입 파라미터를 추가로

가질수 있다.)

 

제네릭 인터페이스를 구현할 경우

 

타입 파라미터는 구현 클래스에도 기술해야한다. (부모가 제네릭이면 자식도 제네릭)

 

'Developer' 카테고리의 다른 글

Maven 이란  (0) 2020.07.29
STS(SpringSource Tool Suite) 란  (0) 2020.07.29
제네릭 와일드카드 타입  (0) 2020.07.26
제네릭 제한된 타입 파라미터  (0) 2020.07.26
제네릭 메소드?  (0) 2020.07.26
  Comments,     Trackbacks
제네릭 와일드카드 타입

와일드카드(?)란 제네릭타입을 매개변수나 리턴타입으로 사용할 때 타입 파라미터를 제한할 목적으로 사용한다.

 

와일드카드에는 세가지 형태가 있다.

 

1. 제네릭타입<?> - 제한이 없다. 모든 클래스나 인터페이스 타입이 올수 있다

2. 제네릭타입<? extends 상위타입> - 상위클래스를 제한함. ?는 상위타입 또는 그 자식만 가능

3. 제네릭타입<? super 하위타입> - 하위클래스를 제한함. ?는 하위타입 또는 그 부모만 가능

'Developer' 카테고리의 다른 글

STS(SpringSource Tool Suite) 란  (0) 2020.07.29
제네릭 타입의 상속  (0) 2020.07.26
제네릭 제한된 타입 파라미터  (0) 2020.07.26
제네릭 메소드?  (0) 2020.07.26
javascript에서 자유변수란?  (0) 2020.07.26
  Comments,     Trackbacks
제네릭 제한된 타입 파라미터

타입 파라미터에 지정되는 구체적인 타입을 제한하고 싶을때 사용한다.

 

아래 예제를 보자.

 

<T extends Number> 라고 타입 파라미터를 지정했다.

 

T 에 Number객체가 오거나 Number의 자식만 파라미터로 올수 있다는 뜻이다.

 

그러므로 Number의 자식이 아닌 String객체를 파입 파라미터로 지정하면 컴파일 에러가 난다.

 

그리고 Double과 int 타입은 모두 Number의 자식이므로 사용가능하다.

 

이렇게 제한을 둘수가 있다. (여기서 extends란 ~가 ~를 포함한다. 는 뜻이다. 인터페이스 상속이라도 <>에선

 

extends를 사용해야한다.

'Developer' 카테고리의 다른 글

제네릭 타입의 상속  (0) 2020.07.26
제네릭 와일드카드 타입  (0) 2020.07.26
제네릭 메소드?  (0) 2020.07.26
javascript에서 자유변수란?  (0) 2020.07.26
클로저란?  (0) 2020.07.26
  Comments,     Trackbacks
제네릭 메소드?

제네릭 메소드는 뭘까?

 

제네릭 메소드는 매개변수 타입과 리턴 타입으로 타입 파라미터를 갖고 있는 메소드를 말한다.

 

 

선언방법

-리턴 타입 앞에 <> 부호를 추가하고 사이에 타입 파라미터를 기술한다.

 

-그런 다음 리턴 타입과 매개변수 타입으로 타입 파라미터를 사용하면 된다.

 

 

아래 방법이 일반적이다.

 

<> 생략가능(주석참고)

'Developer' 카테고리의 다른 글

제네릭 와일드카드 타입  (0) 2020.07.26
제네릭 제한된 타입 파라미터  (0) 2020.07.26
javascript에서 자유변수란?  (0) 2020.07.26
클로저란?  (0) 2020.07.26
서브쿼리 종류  (0) 2020.07.25
  Comments,     Trackbacks
javascript에서 자유변수란?

자유변수라는 것이 있다.

 

자유변수란 클로저를 포함하고 있는 외부 함수의 인자, 지역변수를 말한다.

 

이 자유변수는 외부함수가 종료된 후에도 사용을 할수가 있다.

 

단, 외부에서 직접 접근할수는 없고, 항상 클로저를 통해서만 사용할수 있다.

'Developer' 카테고리의 다른 글

제네릭 제한된 타입 파라미터  (0) 2020.07.26
제네릭 메소드?  (0) 2020.07.26
클로저란?  (0) 2020.07.26
서브쿼리 종류  (0) 2020.07.25
서브쿼리란?  (0) 2020.07.24
  Comments,     Trackbacks
클로저란?

내부함수가 정의될 때 외부함수의 환경을 기억하고 있는 내부함수를 말한다.

외부함수 안에서 선언된 내부함수는 그 외부함수의 지역변수나 함수에 접근이 가능하다는 말이다.

 

 

아래는 쉽게 이해할수 있는 예제이다.

 

예제에서 makeFunc함수가 곧 외부함수이고 그안의 dispalyName함수가 내부함수이다.

 

이 displayName이라는 함수는 본인이 태어난 외부함수의 변수들의 정보를 기억을 한다.

 

곧 displayName이 바로 클로저이다.

 

그래서 아래 코드의 결과값은 Mozilla가 나온다.

 

 

function makeFunc() {

            let name = "Mozilla";

 

            function displayName() {

                  alert(name);

            }

 

            return displayName;

}

 

let myFunc = makeFunc(); //myFunc변수에 displayName을 리턴함

//유효범위의 어휘적 환경을 유지 myFunc();

//리턴된 displayName 함수를 실행(name 변수에 접근)

'Developer' 카테고리의 다른 글

제네릭 메소드?  (0) 2020.07.26
javascript에서 자유변수란?  (0) 2020.07.26
서브쿼리 종류  (0) 2020.07.25
서브쿼리란?  (0) 2020.07.24
인라인 뷰(inline view)란?  (0) 2020.07.24
  Comments,     Trackbacks
서브쿼리 종류

서브쿼리란 하나의 SQL 문장 내부에 존재하는 또 다른 SELECT 문장을 말한다.

 

서브쿼리에도 종류가 있다.

 

select절에 서브쿼리가 있다면 이것은 스칼라 서브쿼리다.

 

from절에 서브쿼리가 있다면 인라인뷰라고 한다.

 

where절에 서브쿼리가 있다면 이것은 그냥 서브쿼리라고 한다.

 

 

주로 인라인 뷰를 쓴다고 한다. (from에 서브쿼리를 사용하는것)

 

이것은 암기해야 한다.

'Developer' 카테고리의 다른 글

javascript에서 자유변수란?  (0) 2020.07.26
클로저란?  (0) 2020.07.26
서브쿼리란?  (0) 2020.07.24
인라인 뷰(inline view)란?  (0) 2020.07.24
오라클 DECODE  (0) 2020.07.24
  Comments,     Trackbacks
서브쿼리란?

서브쿼리란 하나의 SQL문에 포함되어 있는 또 다른 SQL문을 말한다.

 

서브쿼리 주의사항이 있다.

 

1. 서브쿼리를 괄호로 감싸서 사용한다.

2. 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능하다.

3. 서브쿼리에서는 order by 를 사용하지 못한다.

 

서브쿼리 가능한곳

1. select절

2. from절

3. where절

4. having절

5. order by절

6. insert문 안의 value절

7. update 문 안의 set절

 

서브쿼리의 종류는 다음 게시글에서.

'Developer' 카테고리의 다른 글

클로저란?  (0) 2020.07.26
서브쿼리 종류  (0) 2020.07.25
인라인 뷰(inline view)란?  (0) 2020.07.24
오라클 DECODE  (0) 2020.07.24
일급함수가 무엇?  (0) 2020.07.24
  Comments,     Trackbacks