본문 바로가기

Programming/java 고급과정15

java 고급과정 7일차 Inner class의 이해와 특징 class내에 또 다른 class가 정의되는것을 의미 - Inner class가 필요한 이유는 지금까지 작업해 왔던 class들과는 다르게 독립적이지는 않지 만 하나의 member처럼 사용할 수 있는 특징이 있다. Inner class를 정의 시 주의사항과 장점 Inner class는 외부 class의 모든 member들을 마치 자신의 member처럼 사용할 수 있다. Static Inner class는 제외하고는 다른 Inner class는 항상 외부 class를 통해야 생성이 가능하다. Inner class의 종류와 사용 방법 Member Inner class의 구성 Member Inner class Ex Ex ) class InnerEx1 { class Insta.. 2012. 3. 13.
java 고급과정 6일차 String vs StringBuilder vs StringBuffer String은 변경되지 않는(immutable) 반면에, StringBuffer와 StringBuilder는 그 값을 변경할 수 있다. StringBuffer와 StringBuilder의 유일한 차이점은, StringBuffer가 동기화(synchronized)되고, StringBuilder는 동기화되지 않는(unsynchronized) 것이다. 따라서, 프로그램이 단일 쓰레드 환경(single thread)에서 동작해야 한다면, StringBuilder를 쓰는 것이 낫다. StringBuilder가 StringBuffer보다 더 효율적(efficient)이다. 다음은, String, StringBuffer, 그리고 StringBui.. 2012. 3. 12.
java 고급과정 5일차 Abstract 상위 클래스가 사용될 필요가 없고 하위 클래스에서 구체적으로 정의될 경우 사용 선언만 되어져있음. 메소드의 형태만 유지 하위에서 반드시 구현되어야함. abstract class는 객체 생성이 불가능 하다. declaration:선언 / definition :정의 Java - 인터페이스 ㅁ 인터페이스의 개요 - 다른 클래스 간에 공통적인 기능을 정의할 때 인터페이스를 사용 - 인터페이스 내부에 공통기능을 선언하고, 하위 클래스에서 인터페이스 내에서 선언된 메소드들을 구현 ㅁ 인터페이스의 특징 - 다중상속을 위한 Java 프로그래밍 기법 - 인터페이스의 멤버변수는 상수변수 (public static final 변수) - 인터페이스의 메소드는 추상 메소드 (public abstract 메소드).. 2012. 3. 9.
java 고급과정 4일차 오버로딩(overloading) 오버라이딩(overriding) 구분하기 1. 오버로딩 이름은 같고 매개 변수의 타입 혹은 갯수가 다른 메소드들의 정의를 허용 하는 것 메소드의 이름은 같지만 변수의 타입이나 개수가 달라야함 2. 오버라이딩 Class가 구체화 되면서 기본 Class에서 제공하는 인터페이스의 내용이 하위 Class에서 변경 될 수 있음 부모 Class는 자식 Class의 메타 정보를 담게 되는것이 일반적이기 때문에 이런 일이 종종 발생하게 됨 그런 일을 방지하기 위해 자식 Class에서 부모 Class에 선언한 멤버 함수와 인자, 그리고 반환 타입이 모두동일한 형태의 멤버 함수를 선언하면 되는데 이것을 오버라이딩(overriding)이라고 함. 한마디로 요약하면 "재정의" 2012. 3. 8.