목록JAVA (4)
Hello, Stranger
이번에 보안컨설팅을 받게 되면서 exception 처리에 대한 지적사항이 많이 나왔다. 그래서 exception에 대한 내용을 알아보려고 한다. Java exception exception처리의 목적 오류가 발생했을때 처리 방법을 지정할 수 있다. 어플리케이션이 오류로 인해 실행할 수 없는 상황을 방지해준다. 상속관계(가장 위가 최상위 클래스) Object Throwable Exception / error ........ 위의 상속관계에서 보듯이 exception과 에러는 다르다. error은 버그로, 꼭 해결하고 넘어가야하는 문제다. Exception클래스 하위 IOException(입출력에러) FileNotFoundException(지정한파일 못찾음) . . RuntimeException Runtim..
2018년 9월 4일의 기록이다. 친구한테 카톡으로 보낸 내용인데, 다른 내용은 저장이 안되서 이거 포함 2개만 기록이 남아있어서 얼른 가져왔다. 클래스와 객체 클래스: 객체의 속성과 기능을 기술한다.객체: 속성과 기능의 집합이다. 객체의 선언 Tv라는 객체가 있다고 가정한다.아래는 객체를 선언하고 생성하는 코드다. 1. Tv t; // 객체 선언2. t = new Tv(); // 객체 생성 1.은 Tv라는 공간 t를 메모리에 만든다. 이 공간 t에는 아직 아무값도 없다.2. 객체를 생성한다. 객체는 클래스에 기술한대로 생성된다. t라는 변수에 해당 객체를 가리키는 주소값이 들어간다.왜냐하면 참조변수이기 때문에(기본형 외에는 모두 참조변수) Ex)Tv클래스안에 int 형 멤버변수 test가 있다고 하자...
회사에선 코딩을 완료 한 후 commit 전에 sonarlint를 돌린다. 그리고 고쳐야하는게 있으면 가이드에 따라 고치는 절차를 거친다. 그 중 직렬화를 하라는 가이드가 있었다. 그때 직렬화가 무엇인지 검색해서 몇번이나 읽어봤었는데 객체를 컴퓨터에 저장했다가 다시 꺼내쓴다거나, 네트워크를 통해서 객체를 주고받는 등등의 말들이 잘 이해가 가지 않았다. 블로그의 글들을 읽어봐도 완벽하게 이해가 되지않아서 대략만 정리하고 넘어갔는데 자바의 정석 목차를 보다가 직렬화에 대한 내용이 있어서 이전의 궁금증을 해소하고자, 오늘은 직렬화를 공부했다. 해당 내용은 2018.09.11 ~ 2018.09.22 이틀간의 기록이다. (공부를 찔끔찔끔해서..) 직렬화 직렬화란 객체를 데이터 스트림으로 만드는 것을 말한다.즉, ..
오늘은 클래스 메소드(static 메소드)와 인스턴스 메소드에 대해 공부했다. static 변수와 메소드는 인스턴스 변수, 인스턴스 메소드를 사용하지 못하는것은 알고있었는데, 왜 그런지 생각해본적이 없었다. 그래서 이번 챕터를 읽어보게 되었다. 아래 내용은 자바의 정석을 읽고 요약한 내용이다. 클래스 메소드(static 메소드)와 인스턴스 메소드 클래스변수와 인스턴스변수 멤버변수에서 * static이 붙은 변수를 클래스 변수(static 변수)라고 한다. * static이 붙지 않은 변수를 인스턴스 변수라고 한다. * 클래스변수는 클래스가 메모리에 올라갈때 생성된다. * 인스턴스변수는 인스턴스를 생성할때 생성된다. * 클래스변수는 생성하지 않고 사용할 수 있다. * 인스턴스변수는 인스턴스를 생성해야 사용..