목록Java/Java 개념 정리 (11)
archive

1. 인터페이스 상속 - 인터페이스도 다른 인터페이스를 상속할 수 있으면, 클래스와는 달리 다중 상속을 허용한다. -다음과 같이 extends 키워드 뒤에 상속할 인터페이스들을 쉼표로 구분해서 나열하면 된다. public interface 자식인터페이스 extends 부모인터1, 부모인터2 {...} - 자식 인터페이스의 구현 클래스는 자식 인터페이스의 메소드 뿐만 아니라 부모 인터페이스의 모든 추상 메소드를 재정의해야한다. -구현 객체는 자식 및 부모 인터페이스 변수에 대입이 가능하다 -구현 객체가 자식 인터페이스 변수에 대입되면 자식 및 부모 인터페이스의 추상 메소드를 모두 호출할 수 있으나, 부모 인터페이스 변수에 대입이 된다면 부모 인터페이스에 선언된 추상 메소드만 호출이 가능하다. 2. 타입 변..

1. 인터페이스 역할 (시험 서술형 예상) - ***** 수업시간에 교수님 설명 듣고 정리하기 2. 인터페이스 구현 -인터페이스는 .java 형태의 소스파일로 작성이 되고 .class 형태로 컴파일이 되기 때문에 물리적인 형태는 클래스와 동일, 소스 작성 시 선언하는 방법과 구성 멤버가 클래스와 다름 -인터페이스 선언 시 접근제한자는 클래스와 마찬가지로 같은 패키지 내에서만 사용이 가능한 default, 패키지와 상관없이 사용하는 public을 붙일 수 있음 -인터페이스가 가질 수 있는 멤버의 종류 1) public 상수 필드 2) public 추상 메소드 -> 추상 메소드란, 선언부만 있고 실행부인 중괄호가 없는 메소드를 말한다. 3) public 디폴트 메소드 4) public 정적 메소드 5) pr..
1. 자동 타입 변환 (Promotion) - 자동적으로 타입 변환이 일어나는 것 - 자동 타입 변환이 일어날 조건 부모타입 변수 = 자식타입객체 ; 즉, 자식타입의 객체가 상위 타입인 부모타입의 변수에 대입되는 경우 자동 타입 변환이 일어남 - 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급될 수 있음, 예를들어 고양이가 동물의 특징과 기능을 상속받았다면 '고양이는 동물이다' 가 성립하게 된다. - 따라서 Cat 객체를 Animal 타입의 변수에 대입하면 자동 타입 변환이 일어난다. Cat cat= new Cat(); Animal animal=cat; //cat은 자동 타입 변환이 일어나 Animal 타입의 변수 animal에 대입이 가능해진다. - Animal animal=new C..
1. 상속의 이점 -이미 잘 개발이 된클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 코드를 줄여 개발 시간을 단축시킴 -부모 클래스를 수정하면 모든 자식 클래스에 수정 효과를 가지고 오기 때문에 클래스의 수정을 최소화할 수 있음 2. 클래스 상속 -다른 언어와는 달리 자바는 다중 상속을 허용하지 않는다 -즉, 여러 개의 부모 클래스를 상속할 수 없기 때문에 extends 키워드 뒤에는 단 하나의 부모 클래스만 위치해야한다. public class 자식클래스 extends 부모클래스1, 부모클래스2{ ... } //부모클래스2는 올 수 없음 3. 부모 생성자 호출 -모든 객체는 생성자를 호출해야만 생성이 되기 때문에 부모 객체도 예외가 아님 -부모 생성자는 자식 생성자의 맨 첫 줄에 숨겨져있는..
1. 정적 멤버 -자바는 클래스 로더 (loader)을 이용해서 클래스를 메소드영역에 저장하고 사용하는데, 정적 멤버란 메소드 영역의 클래스에 고정적으로 위치하는 멤버를 말한다. -정적 멤버는 객체를 생성할 필요 없이 클래스를 통해 바로 사용이 가능하다. -필드와 메소드는 모두 정적 멤버가 될 수 있음, static 키워드를 추가해주면 된다. -객체마다 가지고 있을 필요성이 없는 공용적인 필드는 정적 필드로 선언하는 것이 좋음. 예를 들어 Calculator 클래스에서 원의 넓이나 둘레를 구할 때 필요한 파이는 Calculator객체마다 가지고 있을 필요가 없기 떄문에 정적 필드로 선언하는 것이 좋다. public class Calculator{ String color; // 계산기별로 색이 다를 수 있..
1. 클래스의 두 가지 용도 -라이브러리 클래스) 실행할 수 없으며 다른 클래스에서 이용하는 클래스 -실행클래스) main()메소드를 가지고 있는 실행 가능한 클래스 -Student 클래스는 라이브러리 클래스, StudentExample클래스는 실행 클래스 -일반적으로 자바 프로그램은 하나의 실행 클래스와 여러 개의 라이브러리로 구성, 실행 클래스는 실행하면서 라이브러리 클래스를 내부에서 이용한다. 2. 필드와 로컬변수의 차이점 *** 이 부분은 교수님 수업 시간에 확실하게 이해가 된 부분이지만 그래도 정리하면서 복습하자 - 로컬 변수는 생성자와 메소드 블록에서 선언되며 생성자와 메소드 호출 시에만 생성되고 사용된다 -필드는 클래스 블록에서 선언되며, 객체 내부에서 존재하고 객체 내외부에서 사용 가능하다..