equals 메서드는 재정의하기 쉬워 보이지만 실수할 여지도 많다. 이런 문제를 피하는 가장 간단한 방법은 equals 메서드를 재정의 하지 않는 것이다. 아래 조건 중 하나라도 만족하면 equals 메서드를 재정의 하지 않아도 된다. 각각의 객체가 고유한 경우 상위 클래스에서 재정의한 equals가 하위 클래스에서 사용하기에도 적당 한 경우 그렇다면 Object.equals를 재정의하는 것이 바람직할 때는 언제인가? 객체 동일성(Object equality)이 아닌 논리적 동일성(Logical equality)의 개념을 지원하는 클래스인 경우 상위 클래스의 equals가 하위 클래스의 필요를 충족하지 못하는 경우 값 클래스(Value Class)는 대체로 그 조건에 부합한다. Value Class (I..
종료자(finalizer)는 예측 불가능하며, 대체로 위험하고, 일반적으로 불필요한다. 종료자는 C++의 소멸자(destructor)와는 다르다는 것을 유념해야 한다. C++의 소멸자는 생성자와 쌍으로 움직이기 때문에 소멸 즉시 호출된다. 하지만 Java에서는 사용되지 않는 객체에 할당된 공간을 GC가 알아서 반환하므로 프로그래머 입장에서 특별히 할 일이 없다. 신경 쓰지 않아도 된다는 말은 다른 말로는 즉시 처리가 되지 않는다는 의미이기도 하다. 따라서 긴급한 작업을 종료자 안에서 처리하면 안 된다. Java에서는 try-finally를 이용하여 해제되어야 할 상황이라면 객체 종료를 보장하기 위해 반드시 그 즉시 직접 해제해야 한다. Java 1.7부터 try-with-resources 문을 지원하므로..
자바는 C/C++ 과는 다르게 더 이상 참조되지 않으면 객체들이 사용하던 메모리가 자동으로 회수된다. public Object pop(){ if(size == 0) throw new EmptyStackException(); Object result = elements[--size]; elements[size] = null; // 쓸모없는 reference 를 제거 return results; } 불필요한 객체를 null로 만들면 메모리에서 바로 제거되며 나중에 실수로 그 참조를 사용하더라도 NullpointException이 바로 일어나도록 할 수 있다. 자체적으로 관리하는 메모리가 있는 클래스를 만들 때는 메모리 누수가 발생하지 않도록 주의해야 한다. (ex. element 가 free 되면 objec..
자바 프로그래밍에서 성능을 향상하는 방법은 여러 가지가 있다. 그중에서 한 가지는 static을 사용하는 것이다. 하지만 잘 모르고 statis을 사용하다가는 시스템이 더 느려지거나, 오류를 내뿜는 시스템이 될 수도 있다. static의 특징 자바에서 static으로 지정했다면, 해당 메서드나 변수는 정적이다. public class VariableTypes { int instance Variable; static int classVariable; public void method(int parameter) { int localVariable; } } 여기서 static으로 선언한 classVariable은 클래스 변수라고 한다. 왜냐하면 그 변수는 '객체의 변수'가 되는 것이 아니라 '클래스의 변수'가..
프로그래머가 정신을 집중해서 양질의 코드를 만들어 낼 수 있는 시간의 최대치는 2~3시간이라는 것이 정설이다. 일반적으로 오전 9시에 출근하여 오후 6시에 퇴근한다. 여기서 점심시간을 빼면 하루에 8시간을 컴퓨터 앞에 앉아있는 셈이다. 하지만 컴퓨터 앞에만 앉아 있을 수는 없다. 회의, 고객과 미팅, 커피, 잡담, 개인적인 업무도 해야 한다. 위와 같은 시간을 제외하고 코드를 만들어 낼 수 있는 시간의 최대치는 5시간을 넘지 않는다. 5시간 제대로 집중해서 코드를 만들어 내면 내가 할 수 있는 일을 모두 한 것이다. 그럼 야근을 오후 10~11시까지 하면서 책상에 앉아 있으면 코드를 만들어 낼 수 있는 시간이 2배로 늘어나는 것인가? 생산성도 2배인가? 바로 이것이 프로그래머의 본질을 이해하지 못하는 사..
이 책을 읽으면서 너무나도 찾던 책이었던 느낌이 들었다. 코딩하면서 코딩 스타일에 관하여 문뜩문뜩 들었던 생각들이 싹 정리된 느낌이다. 또한 재미난 그림들이 사례별로 너무 재밌게 묘사하였다. 책 또한 두껍지 않아 코딩하면서 자주 봐도 될 정도이다. 책의 구성은 다음과 같다. 1장. 표면적인 수준에서의 개선 2장. 루프와 논리를 단순화하기 3장. 코드를 재작성하기 4장 선택된 주제들 코딩 스타일은 쉽게 변하지 않는다. 이 책에서 추구하는 방향과 나의 코딩 스타일은 다행히도 같은 방향이었다. 단지 조금 다른 방향을 보았을 뿐이라고 생각된다. 책을 읽는 동안 많은 공감이 되었기 때문에 앞으로는 같은 방향을 보고자 한다.
백만 그루 철쭉이 마음을 물들이는 철쭉동산 활짝 피어난 진분홍 꽃물결이 도심 가득 넘실대는 군포이다. 프로그램 소개 축제 기간 동안 다양한 볼거리와 먹을거리 등 다채로운 행사와 함께 진행된다. 제가 마지막으로 갔던 기억이 3년 전이다. 그 당시보다 축제가 날로 발전하는 거 같다. 3년 전 추억이 돋는 사진 투척~ 이번 축제는 두 자녀와 함께 모두 가자!!! 주차 팁 축제 기간 동안 소방서 사거리 일대 차량 통제가 있을 예정이다. 가급적 전철 이용을 추천드린다. (4호선 수리산역 도보 5분) 참고로 철쭉동산 근처 학교를 임시 주차장으로 사용한다. 주소 : 경기 군포시 산본동 1152-14
때는 바야흐로 2019.04.13일 토요일 다음날 비 소식으로 인해 마지막 벚꽃을 보기 위해 과천 렛츠런 파크로 발걸음을 옮겼다. 집에서 출발한 시간은 15:30분 우리 가족은 서울대공원에서 동물도 보고 대공원 내 벚꽃을 보고 난 후 과천 렛츠런 파크 벚꽃 야경을 볼 계획이었다. 역시나 과천에 들어서자마자 차는 막혔고 서울대공원에 가까워질수록 도로 위는 주차장과 다름없었다. 주차장 이용 팁 렛츠런 파크 주차장은 종일 12,000원(단 3시간 안에 나오면 6000원 환불) 서울대공원 주차요금 5,000원 대로변 상가 및 상인들이 개인 사유지를 주차장을 운영한다. 서울대공원 주차장을 이용하고 렛츠런 파크까지 도보 이동하여 즐기는 것도 한 방법이다. 렛츠런 파크는 입장료 2,000원으로 고지가 되었는데 인파가..
이직의 경우 크게 2가지로 구분된다. 회피성 이직 - 현 직장 내 이슈를 피해 문제점이 없는 회사를 찾아가는 회피성 이직이다. 쟁취형 이직 - 커리어 성장에 도움이 되는 역량을 확보하기 위해 찾아가는 쟁취형 이직이다. 상사와의 갈등, 공평하지 않은 처우, 상대적으로 적은 연봉, 과도한 업무 등이 문제가 되어 이직을 생각한다면 가급적 옮기지 말 것을 권한다. 옮긴다고 그런 문제가 다 없어지지 않는다. 직장 내 이슈는 한시적인 경우가 많다. 회피하고 싶은 이슈가 한시적인 이슈라고 생각된다면 가급적 버텨야 한다. 버티면서 이슈가 해결되기를 기다리거나, 또는 쟁취형 이직을 몰래 준비하는 것이 최선이다. 이직 카드라는 것은 정말 필요한 순간에만 써야 하는 제한된 자원이기 때문이다. 때문에 조금 더 생산적인 형태로..
이번 포스팅은 이클립스 플러그인 설치에 대해 작성하겠다. STS(Spring Tool Suite) 첫 번째로는 스프링 애플리케이션 개발을 위한 이클립스 기반 개발환경을 제공하는 STS이다. Help -> Marketplace를 선택하여 STS를 검색하여 install 한다. STS에 포함되어있는 각종 기능들에 대한 선택 여부를 묻고 있다. 광고도 아니고 악성코드도 아니므로 다 설치하자. I accept the.... 라이선스 동의 선택 설치가 완료되고 이클립스 재시작에 대한 물음에 나타난다. Restart Now 정상적으로 설치되었다면 친절하게 STS 관련 정보를 표시해 준다. SVN(Subversion) 버전 관리 프로그램으로 Git과 더불어 형상관리 양대 산맥으로 꼽히고 있는 SVN이다. Help -..
- Maven
- Linux 명령어
- sort algorithm
- 정렬 알고리즘
- 경력관리
- spring
- 소프트웨어공학
- 오라클
- 제주도 여행
- 프로그래머
- 회고
- 자바
- 이직
- 오라클 내장 함수
- javascript
- 개발환경
- 성능분석
- Tomcat
- 리액트 16
- 리액트
- Eclipse
- React
- effective java
- Java
- 프로그래머스
- 제주도 3박4일 일정
- SQL
- 리눅스 명령어
- 자바스크립트
- Collection
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |