본문 바로가기

개발 공부52

[자바다] printStackTrace(), toString(), getMessage() 의 차이점! printStackTrace(), toString(), getMessage()는 모두 에러가 왜 발생하였는지를 보여준다는 공통점이 있습니다. 그런데 try/catch문에서 printStackTrace()를 사용하기도 하고 getMessage()를 사용하기도 하죠! 그 이유는 제목에 기술한 순서대로 상세함이 다르다고 할 수 있습니다. (상세함에 따른 시간 소모도 차이점이라고 할 수 있겠고 코드를 짤 때의 복잡도도 다릅니다) printStackTrace() 제일 상세함 >>>>>>toString() 에러 출력만 해줌 >> getMessage() 간단하게 출력 직접 예제를 보면 이해가 쉽습니다. printStackTrace()를 사용한 경우 printStackTrace()는 위와 같이 어디서 에러가 나는지 어.. 2022. 9. 15.
[자바다] next() 와 nextLine()의 차이점 var = scanner.next()는 띄어쓰기를 기준으로 문자열을 인식합니다. var=scanner.nextLine()는 엔터를 기준으로 문자열을 인식합니다. Hello world를 입력했을 때의 결과값은 NextLine()일때는 hello world 전체가 출력되었고 Next()의 결과값은 hello가 출력되었습니다. 2022. 8. 22.
[자바다] public type must be defined in own file public type must be defined in own file이라는 에러가 뜰 때는 클래스 이름이 파일 이름과 일치하지 않아서 난 에러입니다. 두가지를 체크합시다. 1. 클래스 이름과 파일 이름이 일치하는가? 2.(파일 안에 클래스가 여러개라면) public으로 선언한 클래스 이름이 파일 이름과 일치하는가? 2022. 8. 16.
[자바다] static 정적 변수와 final 필드 그리고 싱글톤 선언하는 법 정적 변수 static 정적 멤버는 클래스에 고정된 멤버로 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말합니다. 정적 멤버를 선언하기 위해서는 static 키워드를 붙여줘야 하는데 정적 멤버는 '객체'가 아니라 '클래스'에 소속됨으로 객체마다 가지고 있을 필요가 없는, 변화지 않는! 공용적인 데이터들을 정적 멤버로 선언하고는 합니다. 클래스가 메모리로 로딩되면 생성자를 이용해서 객체를 선언해야 이용할 수 있는 인스턴스 멤버와 달리 정적 멤버는 바로 사용할 수 있다. 그러므로 객체의 이름이 아닌 클래스의 이름으로 접근해야 합니다. 정적 멤버의 초기화 - 필드 선언과 동시에 선언 - 정적 블록을 활용 (객체 생성 없이 사용해야 하므로 생성자에서 초기화 작업을 할 수 없다) 정적 멤버 사용시 주의점.. 2022. 8. 16.
반응형