StringBuffer, StringBuilder
String 클래스String은 내부의 문자열을 수정할 수 없다. StringBuffer()메소드는 내부의 문자를 대치하는 것이 아니라, 대치된 새로운 문자열을 리턴한다.문자열을 결합하는 + 연산을 많이 사용하면 할수록 그만큼 String 객체의 수가 ㅇ늘어나기 때문에 프로그램 성능을 느리게 한다. 문자열을 변경하는 작업이 많을 경우 StringBuffer
String 클래스String은 내부의 문자열을 수정할 수 없다. StringBuffer()메소드는 내부의 문자를 대치하는 것이 아니라, 대치된 새로운 문자열을 리턴한다.문자열을 결합하는 + 연산을 많이 사용하면 할수록 그만큼 String 객체의 수가 ㅇ늘어나기 때문에 프로그램 성능을 느리게 한다. 문자열을 변경하는 작업이 많을 경우 StringBuffer
중첩클래스의 접근 제한1234567891011121314151617181920212223242526272829public class A { int field1; void method1( ) { } static int field2; static void method2( ) { } class B { voi
한 클래스가 여러 클래스와 관계를 갖을 땐 독립적으로 선언하는것이 좋다. 하지만 특정 클래스와 관계를 맺을 땐 내부에 선언하여 불필요한 관계 클래스를 감추고 코드의 복잡성을 감출 수 있게된다. 중첩클래스중첩클래스는 크게 두가지로 나뉘는데 다음과 같다.멤버클래스 - 클래스의 멤버로서 선언되는 중첩클래스. 멤버클래스는 static 여부에 따라 인스턴스 멤버클래
인터페이스의 디폴트 메소드는 자바8부터 나왔다고 한다.. 알아두자.선언은 인터페이스에 하고 사용은 구현객체에서 한다. 왜 이걸 만들었을까?기존 인터페이스를 확장해서 새로운 기능을 추가하기 위해서 특징?디폴트 메소드는 정의된 형태이므로 implemets했을 때 해당 메소드의 구현을 강제하지 않는다. 디폴트 메소드는 다음과 같이 정의할 수 있다. default
어노테이션어노테이션은 컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할 것인지를 알려주는 정보이다.@가 붙는 형태로 정의된다. 어노테이션은 다음의 용도로 사용된다. 123컴파일러에게 문법에러 체크 ex(@Override)개발 툴이 코드를 자동 생성할 수 있도록 정보제공실행시 특정기능을 실행하도록 정보제공 어노테이션 정의 및 사용법어노테이션 정