다른 대안 클래스
버전
C++에서 char 는 1바이트지만 JAVA에서는 char가 2바이트이다. 추가내용은 나중에.. 요약하자면 자바에서는 인코딩을 유니코드(UTF-16)을 사용하는데 문자를 모두 16비트로 표현함 자바에서는 char를 다른용도로 사용하지 않으므로 고민할 필요가 거의없다. 유니코드는 C++ 에서 widebyte char형 wchar_t 로 사용한다.
java에서 지역변수를 초기화 하지 않고 사용하면 컴파일 에러가 발생한다.이유를 찾아보니 인스턴스 변수는 초기화 시점을 모르기 때문에 강제 초기화를 해주는데 반해,지역 변수는 선언시점과 사용시점이 명확하기 때문에 컴파일러가 똑똑하게 잡아줄 수 있는것이다.결론, 지역변수
CComparable - 두 객체의 비교를 하려면 이 인터페이스를 상속받아 구현해야한다.Comparator - 컬렉션 컨테이너를 이용해서 정렬과 같은 기능을 사용하려면 이 인터페이스를 상속받아 구현해야한다.틀린 정보라면 지적해주시면 감사하겠습니다!
c++stl 컨테이너를 iterator로 가리키고 있는 위치를 가져올수 있다.iter.erase()하면 현재 가리키고 있는 위치의 요소를 삭제한다.이때 iterator가 가리키고 있는곳이 잘못될수 있다고 판단하기때문에시퀀스 컨테이너 사용시 보통 iterator iter
열거형 사용 시 위와 같이 비트연산을 통해 플래그 연산을 통해 편리하게 사용할 수 있다.예를 들어자바에서는 더 효과적인 EnumSet 클래스를 제공한다.~ 효과가 있다.
문자열의 + 연산이 많아진다면 메모리, 시간 두 관점 모두에서 손해를 많이보게 된다.이를 위해 StringBuffer와 StringBuilder 클래스가 제공되는데 StringBuffer는 멀티쓰레드에 안전하도록 동기화가 되어있다. 멀티쓰레드로 작동되는 프로그램이라면
쓰레드를 구현할때 두가지 방법을 사용할수 있다.1\. Thread 클래스를 상속받는 방법2\. Runnable 인터페이스를 상속받는 방법Thread 상속받는 클래스는 쓰레드를 직접 생성 가능하지만Runnable 인터페이스를 상속받는 클래스는 생성후Thread 생성자에
생략된 키워드는 영어로 표기!\-Interfacepublic static final 타입 변수명public abstract 리턴타입 메소드명(매개변수 변수명)//static 메소드, default 메소드 예외\-Abstract Class접근제어지시자 abstract 리