제네릭이란 클래스 내부에서 사용할 데이터 타입을 외부에서 정할 수 있게 하는 기법으로 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 고칠 수 있게 해준다. 주로 Collections에서 많이 쓰이며 Java 5 버전에 추가되었다. 우선 간단하게 사용법을 보자 List list = new ArrayList(); list.add("S"); list.add(1); // 에러 String s = list.get(0); String i = list.get(1); // 에러 나지 않음 위 코드에서
Centos에서 root계정의 비밀번호를 분실했을 때를 대비하여 분실했을 때의 해결방법을 기록한다. Centos를 시작하면 해당 화면이 나온다. 위 화면에서 e를 눌러서 편집모드로 들어갈 수 있다. 위 화면은 편집모드이고 마지막에서 두번 째 줄로 이동하여 맨 뒤로 커서를 움직인 후 rhgb quiet를 삭제한다. 그 다음 해당 위치에 init=/bin/sh를 작성하고 Ctrl + x를 누르면 응급복구모드로 부팅이 된다. whoami 명령어를 통해 root 계정으로 들어왔음을 알수 있다. 이제 passwd 명령어로 비밀번호를 바꿔주면 되는데 아래와 같은 에러가 난다. /root 가 읽기 전용으로 mount되어 있기 때문인데 위와 같이 읽기 쓰기 전용으로 마운트해준 다음 passwd 명령어로 비밀번호를 바꿔..
형변환이란 Type을 바꿔주는 것으로 두 가지가 있는데 업 캐스팅과 다운 캐스팅이다. 먼저 기본형에 대한 형변환을 * 업 캐스팅(작은 Type -> 큰 Type) : 작은 Type을 큰 Type으로 Type을 바꾸는 경우로 Type이 바뀌면서 데이터의 손실이 발생하지 않음으로 묵시적 형변환이 가능하다. ex) double d1 = 1; ex) double d2 = 1.0F; * 다운 캐스팅(큰 Type -> 작은 Type) : 큰 Type을 작은 Type으로 Type을 바꾸는 경우로 Type이 바뀌면서 데이터의 손실이 발생하기 때문에 명시적 형변환을 해야한다. ex) int i = (int)1.7; // i에는 0.7의 손실이 발생하여 1만 남는다. * 만약 기본형 끼리의 연산을 한다면 연산에 사용된 기..