반응형

2018.07.05



Ctrl + F11 : 실행


Ctrl + L : 특정 줄 번호로 이동


Ctrl + 마우스 커서 : 클래스 / 메소드 / 멤버 상세 검색


Ctrl + Shift + O : 자동 import


F2 : 에러의 빨간 줄에 커서를 가져가서 단축키를 누르면 에러 원인에 대한 힌트 제공


Ctrl + 0 : 클래스 구조 트리로 보여줌


Ctrl + Shift + T : 클래스 찾기


Ctrl + Shift + F : 코드 자동 정리


Ctrl + Shift + / : 블록 주석 (/* */)


Ctrl + Shift + \ : 블록 주석 제거


Ctrl + Space : 입력 보조장치 (메소드 쉽게 생성 및 변경)


Ctrl + / : 여러줄이 한꺼번에 주석 처리 (//)


Ctrl + D : 한줄 삭제


Ctrl + Shift + X : 대문자 변환


Ctrl + Shift + Y : 소문자 변환


Ctrl + N : 새로운 파일 및 프로젝트 생성



★ 디버깅 단축키 ★


Ctrl + Shift + B : 현 커서의 위치에 브레이크 포인터 설정 / 해제


F11 : 디버깅 시작


F8 : 디버깅 계속


F5 : 한 줄씩 실행하되 함수일 경우 그 함수 내부로 들어감


F6 : 한 줄씩 실행


Ctrl + R : 현재 라인까지 실행


Ctrl + F11 : 이전에 실행되었던 Run 파일 실행

반응형

'Programming Language > JAVA' 카테고리의 다른 글

[급여관리 프로그램(Has~A 만)  (24) 2018.07.16
[Java]Enum  (0) 2018.07.12
클래스 구성요소  (0) 2018.07.10
성적처리 프로그램(클래스 사용x)  (0) 2018.07.09
<Java> 제네릭  (0) 2018.01.08
반응형


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class MyClass {
    MyClass() { }
    
    //전달받는 인수에 따라 생성자 오버로딩 시키기..
    void func01(int num) {
        System.out.println(num);
    }
    void func02(String str) {
        System.out.println(str);
    }
    void func03(float f) {
        System.out.println(f);
    }
}
 
public class Practice01 {
    public static void main(String[] args) {
        MyClass myClass = new MyClass();
        myClass.func01(10);
        myClass.func02("Hello");
        myClass.func03(3.14f);
    }
}
 
cs
이렇게 전달받는 인수에 따라 함수를 생성할 때 출력문이 여러번 들어가게 되어 귀찮아진다.. 이를 보완하고자 제네릭을 쓰게되는데..



<제네릭을 사용한 코드>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class MyClass <T> {
    MyClass() {
        
    }
    void func01(T n) {
        System.out.println(n);
    }
}
 
public class Practice01 {
    public static void main(String[] args) {
        MyClass<Integer> myclass1 = new MyClass<>(); //Integer는 class..
        myclass1.func01(10);
        
        MyClass<String> myclass2 = new MyClass<>();
        myclass2.func01("메롱");
        
        MyClass<MyClass> myclass3 = new MyClass<>();
        myclass3.func01(new MyClass());
    }
}
cs
class를 생성할 때 <T>의 의미는 "객체를 생성시킬 때 타입을 알려줄테니 <T>대신에 그 타입을 넣고 <T>를 알려준 타입으로 대신 사용하여라.."라는 의미를 가지고 있다.(대명사역할) 이곳에 넣을수 있는 타입으로는 클래스타입(Integer, Float, String...)으로 일반타입(int, short, char...)은 넣을 수 없다.

객체를 생성해줄때 <>사이에 원하는 클래스타입을 넣어준다.


1
2
MyClass<Integer> myclass1 = new MyClass<>(); //Integer는 class..
myclass1.func01(10);
cs

myclass1타입은 Integer타입으로 main함수에서 func01함수를 부를때 인수를 Integer타입으로 넘겨준다. MyClass에서는 <T>타입으로 되어있지만 Integer타입으로 사용가능하다. Integet타입으로 넘겼는데 String으로 사용할 경우 당연한 에러가 나온다!



마찬가지로..

1
2
Apple<String> a2 = new Apple<>();
a2.func01("메롱");
cs


1
2
 MyClass<MyClass> myclass3 = new MyClass<>();
 myclass3.func01(new MyClass());
cs
String 클래스타입, 내가 직접 생성한 MyClass타입을 사용할 수 있다.










잘못된 정보에 대한 피드백은 언제나 환영입니다!!


반응형

'Programming Language > JAVA' 카테고리의 다른 글

[급여관리 프로그램(Has~A 만)  (24) 2018.07.16
[Java]Enum  (0) 2018.07.12
클래스 구성요소  (0) 2018.07.10
성적처리 프로그램(클래스 사용x)  (0) 2018.07.09
이클립스 단축키 모음  (0) 2018.07.05

+ Recent posts