interface

interface

인터페이스는 상수와 구현되지 않은 메소드로만 구성된다.

추상 아닌것도 필요한데요? ---> 추상클래스 이용 !! interface X

인터페이스 상속 implements

다중상속을 지원하기 위함.

인터페이스 안의 필드는 기본으로 static, final

인터페이스 안의 메소드는 public abstract

 

자식클래스에서는 implements로 상속하고, 부모가 가지고 있던 메소드를 반드시 완성시켜야 한다.

 

 

 

'Computer Science > Languages' 카테고리의 다른 글

[java] 쓰레드(Thread)  (0) 2019.01.24
[java] 예외처리  (2) 2019.01.24
[java] Collection 활용  (0) 2019.01.17
[Java] final, static  (0) 2019.01.16
JAVA 입출력  (2) 2019.01.08

java0116

 

final

  • class

    상속을 받을 수 없다.

    상속을 받는 이유 : 물려받아서 수정하고, 오버라이딩하고 ... --> 불가

    final class는 처음에 만들어 놓은 모양 그대로만 사용할 수 있다.

     

  • method

    overriding(재정의) 불가

    클래스 상속은 가능, 클래스 안의 다른 메소드는 가능.

    final이 붙은 메소드만 오버라이딩 불가.

 

클래스가 파이널이면, 클래스 상속 불가. 그안의 메소드도 건들일 수 없다. ==> final method 효과

일반 클래스에서 한 메소드만 final면, 그 메소드만 overriding 불가.

 

  • variable

    상수가 된다. 항상 변하지 않는 값.

     

    ex) math.class

    final class ==> 모든 메소드와 변수는 final. 즉, 고칠 수 없다.

     

     

 

**static

field variable, method, block 에 붙힐 수 있다.

 

생성이 되는 위치와 시점이 다르다.

 

소스파일 --컴파일--> 실행파일 ----> ~~~

.src .class

 

컴파일 하다가 static 을 만나면 인식하고,

실행버튼 누르면. main이 실행되기 전에 (컴파일 시점) static붙은 애들은 컴파일러가 미리 class area에 미리 만들어 놓는다. 1개만.

 

원래는 main이 실행되어야 객체가 만들어짐

count변수는 객체 생성을 해야 만들어진다.

static 변수를 사용할때는 객체 생성을 안해도 된다.

 

 

 

타 클래스에서 static변수를 사용하고 싶을때

==> 클래스이름.변수명

 

 

 

static method 안에서는 this, super 사용 불가능

main이 실행되기전에 생성되므로, this나 super가 없어서 error발생

'Computer Science > Languages' 카테고리의 다른 글

[java] 쓰레드(Thread)  (0) 2019.01.24
[java] 예외처리  (2) 2019.01.24
[java] Collection 활용  (0) 2019.01.17
[java] interface  (0) 2019.01.16
JAVA 입출력  (2) 2019.01.08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    //입력
        
        Scanner sc = new Scanner(System.in); // jdk5 추가됨
        int num = sc.nextInt();
        
        //빠르다
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = br.readLine(); // 문자열로만 리턴됨, 사용자가 입력한 한 줄을 통째로 문자열로 받아옴.
        s="20";
        int num = Integer.parseInt(s); //숫자로 변경
        //int num = Integer.valueOf(s); //내부적으로  parseInt를 다시 호출.
        s="1 2 3 4 5";
        String[] srr = s.split(" ");
        
        
        
        //출력
        System.out.println(); //느리다. 한번에 묶어서 출력하는 것이 좋다.
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        bw.write("abcdefg\n"); //줄 안바꿔줌, \n
cs


'Computer Science > Languages' 카테고리의 다른 글

[java] 쓰레드(Thread)  (0) 2019.01.24
[java] 예외처리  (2) 2019.01.24
[java] Collection 활용  (0) 2019.01.17
[java] interface  (0) 2019.01.16
[Java] final, static  (0) 2019.01.16

+ Recent posts