목록개발 (90)
JongDDA의 한걸음 한걸음씩
내부 클래스(Inner class) 내부 클래스는 클래스 내에 선언된 클래스이다. 한 클래스를 다른 클래스의 내부 클래스로 선언하면 두 클래스의 멤버들 간에 서로 쉽게 접근할 수 있다는 장점과 외부에는 불필요한 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다는 장점을 얻을 수 있다. 내부 클래스 장점 - 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다. - 코드의 복잡성을 줄일 수 있다. (캡슐화) 구조 class A{ // 외부 클래스 ... class B{ // 내부 클래스 ... } ... } 위 코드는 외부 클래스(outer class) A가 내부 클래스(Inner class) B를 감싸고 있는 구조이다. 내부 클래스의 종류와 특징 내부 클래스의 종류는 변수의 선언위치에 따른 종류와..
입출력(I/O) I/O 란 Input 과 Output의 약자로 입출력이라고 한다. 입출력은 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것을 말한다. 스트림(stream) 자바에서 입출력을 수행하려면, 즉 어느 한쪽에서 다른 쪽으로 데이터를 전달하려면 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데 이것을 스트림(stream)이라고 정의한다. 스트림은 연속적인 데이터의 흐름을 물에 비유하여 붙여진 이름인데. 물이 한쪽 방향으로만 흐르는 것과 같이 스트림은 단방향통신만 가능하기 때문에 하나의 스트림으로 입력과 출력을 동시에 처리할 수 없다. 그래서 입력과 출력을 동시에 출력하려면 입력을 위한 입력스트림(Input stream)과 출력을 위한 출력스트림(Output strea..
인터페이스(Interface) 인터페이스는 일종의 추상클래스이다. 인터페이스는 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상 클래스와 달리 몸통을 같준 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메서드와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떠한 요소도 허용하지 않는다. 추상클래스를 부분적으로만 완성된 '미완성 설계도'라고 한다면, 인터페이스는 구현된 것은 아무 것도 없고 밑그림만 그려져 있는 '기본 설계도'라 할 수 있다. 인터페이스도 추상 클래스처럼 완성되지 않은 불완전한 것이기 때문에 그 자체만으로 사용되기 보다는 다른 클래스를 작성하는데 도움 줄 목적으로 작성된다. 인터페이스를 작성하는 것은 클래스를 작성하는 것과 같다. 다만, 키워드..
추상 클래스(abstract class) 클래스를 설계도에 비유한다면 추상 클래스는 미완성 설계도에 비유할 수 있다. 말 그대로 완성되지 못한 채로 남겨진 설계도를 말한다. 따라서 추상클래스는 인스턴스를 생성할 수 없다. 상속을 통해 자식 클래스에 의해서만 완성시킬 수 있다. 추상 클래스 자체로는 클래스로서의 역할을 다 못하지만, 새로운 클래스를 작성하는데 있어서 바탕이 되는 조상 클래스로서 중요한 의미를 갖는다. 새로운 클래스를 작성할 때 아무 것도 없는 상태에서 시작하는 것보다는 완전하지는 못하더라도 어느 정도 틀을 갖춘 상태에서 시작하는 것이 나을 것이다. 추상 클래스는 중요한 틀의 기능을 할 수 있고 완벽한 클래스를 만드는데 효율적일 것이다. 추상 클래스는 키워드 'abstract'를 붙이기만 하..