계속 머리에 넣고 있어야 할 것 같은 말들
기억하는 건 적지 않음
toString()
: 객체 정보를 문자열로 반환getter
, setter
: 사용자(main)에서 멤버변수 접근할 때 사용하는 메서드equals(Object o)
: 객체 비교 메서드 (새로운 클래스 작성시 필수)hashCode()
: for 'hashing' (Map 사용시 필수): 같은 코드도 더 보기좋게, 중복없이, 짧게, 반복이 적게, etc...로 작성하려는 노력
1005
1007
int[][] arr = new int[n][m];
// arr은 원소로 int배열 n개를 가지는 배열
// arr의 원소는 int값 m개를 가지는 배열
int[][] arrReverse = new int[arr[0].length][arr.length];
// int[][] arrReverse = new int[m][n]; 과 같은 의미
// arr.length = n / arr[0~n].length = m
// arrReverse는 원소로 int배열 m개를 가지는 배열
// arrReverse의 원소는 int값 n개를 가지는 배열
for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
arrReverse[j][i] = arr[i][j];
// ex) arr의 (1, 2) 값을 arrReverse의 (2, 1)에 넣기
}
}
1007
1006
반복문은 가급적 적은 반복으로 결과를 구하도록 노력!
1007
소수구하기
continue
, break
쓰지 않기
0930
1. 블럭을 보면 수행이 보장되는 블럭인지 아닌지 확인! 변수가 있다면 특히 더 확인!
1) 컴파일 과정에서 변수(값)는 계산되지 않는다. (자료형 확인 정도만...)
예를 들면 if문에서 조건이 무조건 true여도! 존재하지 않는 false인 경우까지 고려하여, 컴파일 error를 반환할 수 있다
0921
1005
1014
오버로딩(method overloading)이란?
= 메서드 중복정의
만들어진 코드가 불러쓰기 편하도록 하기 위함 (쓰는 사람 입장)
오버라이딩(method Overriding)이란?
= 메서드
익명내부클래스(Anonymous Inner Class)?
1012
1. 클래스 간의 순서는 없다
자바 코드에서 순서는 오직 '메소드 안'에만 존재한다!
0418
1. GET 방식과 POST 방식의 차이
파라미터(사용자가 보내는 정보)가 요청라인(URL)에 담겨 보내지면 GET
파라미터가 바디에 담겨 보내지면 POST
0922
0927
공부법: 코드 한줄한줄에 주석을 달아보고, 모르면 질문
이상적인 개발: 개발은 사람들과 함께하는 것 -> 이해하기 쉽게 코드 쓰기
0928
1014
1018
1205
1. AND연산 (&&) : (조건A) && (조건B)
에서 조건 A가 false일 경우 B는 확인하지 않는다. (B를 확인하지 않아도 자동 false 처리한다.)
0414
1. 설정값을 클래스 내부에서 저장해둘 경우, 설정값이 변화할 때마다 새롭게 컴파일해야 해서 기존 파일들과 충돌이 일어날 수 있음
이 경우 수정 시에도 컴파일할 필요 없어 충돌의 여지가 적은 Properties를 사용하면 더 유연하게 설정값을 변경할 수 있다.
0419
1. 캐시 사용안함 설정
<%
response.setHeader("Cache-Control", "no-cache");
response.addHeader("Cache-Control", "no-cache");
response.setHeader("pragma", "No-cache");
response.setDataHeader("Expires", 1L);
%>
0.523
1. sql - delete
, update
사용하기 전에 꼭 select
로 확인하기!!