JAVA

    [JAVA 복습] 인터페이스(Interface)

    - 자바의 정석 (기본편)을 참고했습니다. - 복습을 위한 게시글입니다. - 소스에 오타가 있을 수 있습니다. ^^;; 인터페이스(Interface)의 특징 인터페이스란 일종의 추상 클래스인데, 추상화의 정도가 높아서 구현부를 갖춘 일반 메서드, 멤버변수를 가질 수 없다. 오직 추상 메서드와 상수만을 멤버로 가질 수 있고 그 외는 어떠한 요소도 허용하지 않는다. 불완전한 설계도이기 때문에 그 자체로 이용하기보단 다른 클래스를 작성하는데 도움을 주는 용도로 사용된다. 모든 멤버변수는 public static final을 붙인 제어자가 있어야하며, 이를 생략할 수 있다. 모든 메서드는 public abstract 붙인 제어자가 있어야하며, 이를 생략할 수 있다. 인터페이스의 장점 1. 개발시간을 단축시킬 수..

    [JAVA 복습] 추상 클래스(abstract class)

    - 자바의 정석 (기본편)을 참고했습니다. - 복습을 위한 게시글입니다. - 소스에 오타가 있을 수 있습니다. ^^;; 추상 클래스란 ? 기존의 클래스를 설계도에 비유했는데, 추상 클래스는 미완성 설계도에 비유할 수 있다. 여기서 미완성이라는 것은 멤버의 개수에 관계된 것이 아닌, 미완성 메서드(추상 메서드) 를 포함하고 있다는 의미이다. 추상 클래스는 클래스 이름 앞에 'abstract'를 적어주기만 하면 된다. 미완성 설계도인 추상 클래스는 인스턴스를 생성할 수 없으며, 상속을 통해 자손클래스에 의해 완성된다. 추상 클래스를 사용하는 이유 추상 클래스는 새롭게 클래스를 작성하는데 있어 틀을 잡을 수 있는 조상 클래스로서의 중요한 의미를 갖는다. 즉, 미완성 설계도를 만들어놓고 이것을 이용해 각각의 비..

    [JAVA 복습] 다형성(Ploymorphism)

    - 자바의 정석 (기본편)을 참고했습니다. - 복습을 위한 게시글입니다. - 소스에 오타가 있을 수 있습니다. ^^:; 다형성의 정의와 특징 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 구현했다. 조상 타입의 참조변수로 자손 타입의 인스턴스를 참조할 수 있다. 반대로 자손 타입의 참조변수로 조상 타입의 인스턴스는 참조할 수 없다 ! - 상속을 알고 있다면, 자식은 조상의 멤버와 같거나 혹은 더 많은 멤버를 가지고 있다는 것을 알고 있을 것이다. 즉, 조상이 가지고 있는 멤버의 개수보다 자식 타입의 참조변수가 사용할 수 있는 멤버 개수가 더 많기 때문에 자손 타입의 참조변수로는 조상 타입의 인스턴스를 참조할 수 없다. 다형성 예제 코드 class Ex7_23 { ..

    [JAVA 복습] 캡슐화와 접근 제어자

    - 자바의 정석 (기본편)을 참고했습니다. - 복습을 위한 게시글입니다. - 소스에 오타가 있을 수 있습니다. ^^:; 제어자의 특징 제어자는 크게 접근 제어자와 그 외의 제어자로 나눌 수 있다. 제어자는 클래스, 변수, 메서드의 선언부에 사용되며 부가적인 의미를 부여한다. 하나의 대상에 대해 여러 제어자를 조합할 수 있으나 접근 제어자는 하나만 선택해서 사용할 수 있다. 1. static 제어자 static 제어자는 멤버변수, 메서드, 초기화 블럭에 사용할 수 있다. 멤버변수와 메서드에 static 제어자가 붙었다면 전역 변수, 전역 메서드로 클래스 내부 어디서든 사용할 수 있다. 전역 변수는 인스턴스를 생성하지 않고도 사용할 수 있고 클래스가 메모리에 로드될 때 생성된다. 전역 메서드 또한 인스턴스를..

    [JAVA 복습] 참조변수 super와 조상의 생성자 super()

    - 자바의 정석 (기본편)을 참고했습니다. - 복습을 위한 게시글입니다. - 소스에 오타가 있을 수 있습니다. ^^:; 참조변수 super super는 자손이 조상으로부터 상속받은 멤버를 참조하는데 사용되는 변수 멤버변수와 지역변수의 이름이 같을 때 this로 구별했듯이, 상속받은 멤버와 자신의 멤버가 이름이 같을 때 super로 구별할 수 있다. 참조변수 super 사용 코드 예제 class Ex7_2 { public static void main(String args[]) { // 인스턴스 생성 시 조상의 멤버도 함께 생성 Child c = new Child(); c.method(); } } // 조상 클래스 Parent Class Parent { int x = 10; } // Parent를 상속받는..