현재 코드라인에서 지금까지 호출된 함수의 정보를 확인하기 위한 방법이다.
예를 들어,
Class A{
public static void main(String args...){
new B();
}
}
Class B{
public B(){
// 현재 라인에서 현재까지 호출된 정보를 확인하고 싶은 경우 사용
}
}
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
를 이용하면 현재 호출까지 되었던 정보들을 스택 구조로 획득할 수 있다.
StackTraceElement에서 획득할 수 있는 대표적인 정보로는
for (StackTraceElement stackTraceElement : stackTrace) {
stackTraceElement.getClassName();
stackTraceElement.getFileName();
stackTraceElement.getLineNumber();
stackTraceElement.getMethodName();
}
대부분 함수이름만으로 어떠한 정보를 획득할 수 있는지 이해할 수 있다.
다만, getClassName()의 경우 fully qualified name of the Class가 리턴 된다.
(예시 : com.test 패키지 아래에 Temp.java 파일의 경우, com.test.Temp 라는 정보가 리턴된다.)
'프로그래밍 > Java' 카테고리의 다른 글
[Java]트리형 메뉴 출력하기 (0) | 2021.01.07 |
---|---|
[Java] 이름과 핸드폰번호에 대한 마스킹 처리 (0) | 2021.01.01 |
[Java] System.out의 결과를 파일로 출력 (0) | 2016.06.15 |
[Java] Hikari CP 구현 (0) | 2016.03.30 |
[Java] 가변인자 ( Varargs ) (0) | 2013.03.13 |