본문 바로가기
  • soobinhand의 기술 블로그
728x90

도서/자바 프로그래밍 언어 - James Gosling22

[자바 프로그래밍 언어] 6장 열거 타입 6.1 단순한 Enum 예제 카드 한 벌을 표시하는 enum은 아래와 같이 선언. public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES } 기본적인 형태의 enum은 열거 타입을 표시하는 식별자 enum과 몸체로 구성되며 몸체에는 값이나 enum 상수를 지정할 수 있다. enum 상수는 항상 대문자. enum 상수는 클래스의 정적 필드이다. enum의 인스턴스를 new 연산자로 생성할 수는 없다. 즉, enum에는 접근할 수 있는 생성자가 없다고 봐야 한다. 단지 우리는 enum 상수를 위해 생성된 객체를 사용할 수 있을 뿐이다. 이런 단순한 사용으로 정수형 상수를 선언하는 것과 다른 점을 찾기 어렵겠지만, enum에는 완벽한 타입 안전이라는 중요한 다른 점이 있다... 2021. 12. 26.
[자바 프로그래밍 언어] 5장 중첩 클래스와 인터페이스 5.1 정적 중첩 타입 중첩 타입을 정의할 수 있다는 것은 다음의 두 가지 주요 용도를 지원할 수 있다는 것을 의미한다. 중첩 클래스와 중첩 인터페이스가 논리적으로 관련된 그룹에 구조화되고 같은 범위에 속하는 타입이 될 수 있게 해준다. 중첩 클래스가 논리적으로 연관된 객체를 간단하고도 효율적으로 연결할 수 있다. 중첩 타입은 이 타입을 선언한 타입의 일부분이 되며 이 둘은 서로의 멤버에 접근할 수 있는 관계. 정적일 경우에는 단순한 구조의 타입을 허용하는 반면, 아닐 경우에는 중첩 객체와 이를 감싸는 외부 객체와의 특별한 관계를 정의해야 한다. 외부 클래스나 인터페이스 내에 static 멤버로 선언된 중첩 클래스나 중첩 인터페이스는 최상위 클래스나 최상위 인터페이스처럼 동작한다. 중첩 타입의 이름은 ".. 2021. 12. 25.
[자바 프로그래밍 언어] 4장 인터페이스 4.1 인터페이스 예제 인터페이스는 메소드의 집합이나 이 타입의 협약을 구성하는 다른 타입을 포함하여 추상적인 형태로 작성된다. 그래서 인터페이스는 구현을 포함할 수 없고 인터페이스의 인스턴스를 생성할 수도 없다. 인터페이스는 설계만을 표현한 것이며 클래스는 설계와 구현을 함께 표현한 것이다. 대부분의 인터페이스는 여러 클래스의 다양성을 표현할 수 있는 특성을 정의하고 있다. 이 특성들은 어떤 것을 할 수 있다는 의미로 'able'을 포함한다. cloneable - 이 타입의 객체는 복제를 지원한다. comparable - 이 타입의 객체는 비교할 수 있는 순서를 가진다. Runnable - 이 타입의 객체는 독립적인 스레드로 실행할 수 있는 작업 단위를 표현한다. 클래스는 슈퍼 인터페이스에 정의된 메소.. 2021. 12. 24.
[자바 프로그래밍 언어] 3장 클래스 확장 3.1 확장 클래스 주어진 클래스의 객체가 원래 클래스나 이를 확장한 클래스처럼 다양한 형식을 가질 수 있는 것을 다형성이라고 한다. 클래스 확장은 두 가지 형식의 상속을 제공한다. 협약 또는 타입의 상속, 이것에 의해 서브 클래스는 슈퍼 클래스의 타입을 얻어 슈퍼 클래스가 사용될 수 있는 곳에 다형적으로 사용될 수 있다. 구현의 상속, 서브 클래스는 슈퍼 클래스의 접근 가능한 필드와 메소드의 구현을 획득한다. 클래스 확장은 다양한 목적으로 사용할 수 있지만 주로 특수화를 위해 사용한다. 특수화란 특정 클래스를 확장하는 서브 클래스에서 새로운 행동을 정의하여 서브 클래스가 슈퍼 클래스의 특수화된 버전이 되는 것을 말한다. 외부 클래스에서 접근할 수 있는 메소드와 필드의 집합 그리고 클래스의 멤버들이 어떻.. 2021. 12. 23.
728x90