목록Developments/Java (4)
일개미 : 일상과 개발의 미학

살다보면 계획에 없던 예외 상황을 적어도 한번쯤은 마주한 적 있을 것이다. 그럴땐 그 상황을 파악하고 걸맞는 어떤 다른 계획이나 행동을 통해 헤쳐나가거나 빠져나가거나 할 것이다. 프로그래밍도 마찬가지다. 컴퓨터 혹은 시스템에서 설계된 그대로 실행되지 않고 예외의 상태에 빠질 수 있다. 그러나 프로그래밍은 지시한 내용이 없다면 사람과 달리 스스로 판단할 수 있는 사고력이 없거나 부족하다. 따라서 개발자는 사전에 프로그래밍에 예외상황에 관한 처리를 알려주고 실행하게 한다. 예외처리를 이야기하면 누군가는 에러와 헷갈리기도 한다. 글쓴이도 한동안 제대로 알지 못해서 활용하지 못한 때가 있었다.🙄 그렇다면 먼저 예외와 에러의 차이는 무엇일까? 예외(Exception) : 개발자가 구현한 로직에서 발생한 실수나 사..

자바 버전에 따른 차이점이 궁금해서 검색하다가 다른 분 블로그에 좋은 글이 있어 참조하려고 링크로 스크랩했다. 시간날 때 한번씩 읽어보시길 :) [JAVA] java8 ,java11, java17그리고 JDK와 SE Java를 처음 공부할 때 언어도 생소하고, 언어를 작성하고 컴파일을 도와주는 도구도 생소하기에 가장 최... blog.naver.com

모든 데이터를 오브젝트(object;물체)로 취급하여 프로그래밍 하는 방법으로, 처리 요구를 받은 객체가 자기 자신의 안에 있는 내용을 가지고 처리하는 방식이다. 이 오브젝트에는 클래스의 개념이 있어서 상위와 하위의 관계가 있다. 클래스의 구체적인 예가 인스턴스이다. 오브젝트 사이는 메시지의 송신으로 상호 통신한다. 가장 특징적인 것은 각 클래스에 그 메시지를 처리하기 위한 방식이 있다는 것이다. 어떤 인스턴스에 메시지가 도래하면 그 상위 클래스가 그것을 처리한다. 절차형 프로그래밍이 가지는 문제를 해결하기 위해 탄생된 객체지향 프로그래밍은 객체라는 작은 단위로서 모든 처리를 기술하는 프로그래밍 방법으로서, 모든 처리는 객체에 대한 요구의 형태로 표현되며, 요구를 받은 객체는 자기 자신 내에 기술되어 있..
점브 투 자바로 공부하던 도중에 이해가 잘 가지않아 추가적으로 찾아본 내용이다. 우선 String은 문자로 된 값의 타입인데, 정의하자면 변경 되지 않는 Character 문자열 자체이며, 다른 문자열을 추가했을 때 새로운 메모리를 잡아먹는다. 이러한 특성으로 인해 String은 문자열을 자주 읽어들이는 경우 좋은 성능을 기대할 수 있지만, 문자열 추가 삭제 수정 등이 빈번하게 일어나는 알고리즘에 String클래스를 사용하면 heap메모리에 많은 임시 garbage가 생성된다. 이를 해결하기위해 String Builder 와 String Buffer 를 도입되었고, 그 차이는 동기화의 유무이다. String Buffer는 동기화 키워드를 지원하여 멀티스레드 환경에서 안전하다. (* 참고로 String도 ..