티스토리 뷰

1. 익명클래스

- 이름이 없는 클래스 = Anonymous Class

- 메소드를 오버라이드 하기 위해서 사용됨

 

* JAVA

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Person{
    public void greeting() {
        System.out.println("hello");
    }
}
 
 
public class Example{    
 
        Person person = new Person(){
            public void greeting(){
              System.out.println("hiru");
          }
        };
 
        person.greeting();    
 
}
cs

- 클래스에서 바로 사용하면 알아서 class override 가 됨 

 

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
interface Utility{
    public void showInfo();
}
 
 
public class Example{
 
    public static void main(String[] args){
 
        Utility util = new Utility(){
            @Override
            public void showInfo() {
                System.out.println("showing info.. ");
            }
        };
 
        util.showInfo();
 
    }        
 
}
cs

- 인터페이스의 경우 클래스에서 implenets사용하여 만들어져야함

- 익명함수를 사용하면 따로 클래스에서 사용하지 않고도 바로 생성할 수 있음 

 

* C#

* python 

 

 

 

2. 람다 

* JAVA

 

- 식별자 없이 실행가능한 함수

- 함수인데 함수를 따로 만들지 않고 코드 한줄에 함수를 써서 그것을 호출하는 방식

- Lambda Expression은 코드 블럭을 메소드에 넣을 떄 사용하는 기술

- 자바 8버전부터 소개된 개념

- 여러줄의 코드를 메소드 안에 넣을때 사용하는 개념 

- 원래 메소드안에 코드를 넣을 떄 인터페이스라는 개념을 사용했음

 

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
31
interface Say{
    void something();
}
 
class Person{
    public void greeting(Say line){
        line.something();
    }
}
 
 
public class Example{    
 
      Person person = new Person();
 
        //java7
        person.greeting(new Say(){
            @Override
            public void something() {
                System.out.println("My name");
            } //line이 없기때문에 say가객체화
 
        });
 
 
        //Lambda Exmpression
        person.greeting(()->{
            System.out.println("Lambda Expression");
        });
 
}
cs

 

* C#

* python 

 

 

 

 

 

 

<출처>

1.  www.youtube.com/watch?v=foC6t8dZHls

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/11   »
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
글 보관함