본문 바로가기
728x90
반응형

IT49

자바 정리 - 중첩클래스(nested class) 중첩클래스(nested class) 클래스 내부에 선언한 클래스 두 클래스의 멤버들을 서로 접근하게 하고, 외부에는 불 필요한 관계 클래스 감춤 코드 복잡성 줄임 멤버 클래스 클래스의 멤버로서 선언되는 중첩 클래스 인스턴스 멤버 클래스 : static 키워드 없이 중첩 선언된 클래스 정적 멤버 클래스 : static 키워드로 선언된 클래스 로컬 클래스 메소드 내부에서 선언되는 중첩 클래스 메소드 실행할 때만 사용되고 메소드 종료되면 사라짐 중첩 인터페이스 클래스의 멤버로 선언된 인터페이스 해당 클래스와 긴밀한 관계 맺는 구현 클래스 만들기 위함 인스턴스 멤버 인터페이스와 정적 멤버 인터페이스 모두 가능 정적 멤버 인터페이스 많이 사용, UI 프로그래밍에서 이벤트를 처리할 목적으로 많이 활용 2021. 11. 30.
자바 정리 - 인터페이스 인터페이스 객체의 사용 방법을 정의한 타입 개발 코드와 객체가 서로 통신하는 접점역할을 함 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출 구성 멤버 : 상수 필드, 추상 메소드 인터페이스는 필드 선언 불가 (상수 필드 가능) 상수 필드 : 인터페이스의 상수 필드는 기본적으로 public, static, final 특성을 갖음 관례적으로 필드 이름은 모두 대문자로 작성, 선언 시 초기값을 대입 인터페이스도 일반 동작을 정의하는 메소드(default 메소드) 가능 ex) default int getVolume() { } 필드 : 객체 선언 시 같거나, 상위 클래스 추상 메소드 : 인터페이스에 선언된 메소드는 public abstract가 생략되고 메소드 선언부만 있음 구현 클래.. 2021. 11. 30.
자바 정리 - 추상 클래스 추상 클래스 실체 클래스(객체 생성용 클래스)들의 공통적인 특성(필드, 메소드)을 추출하여 선언한 것 추상 클래스와 실체 클래스는 부모, 자식 클래스로서 상속 관계를 가짐 추상 메소드 메소드 선언만 통일하고 실행 내용은 실체 클래스마다 달라야 하는 경우 abstract 키워드로 선언되고 중괄호가 없는 메소드 하위 클래스는 반드시 재정의해서 실행 내용 결정 [public | protected] abstract 리턴타입 메소드 이름(매개변수, …); 복습 개발자들이 프로그래밍 할 때 필요한 것 데이터(변수) 연산자 제어문(조건문, 반복문) 메소드 변수 + 메소드 = 객체 객체 → 추상클래스 → 인터페이스 (클래스) (상속) 추상클래스에서 확장됨 - 필드 - 메소드 - 생성자 ui : 화면 ux : 사용자의 경험 2021. 11. 30.
자바 정리 - 타입 변환과 다형성 타입 변환과 다형성 다형성 : 사용 방법은 동일하지만 다양한 객체를 이용해서 다양한 실행결과가 나오도록 하는 성질 필드의 다형성 필드 타입을 부모 타입으로 선언할 경우 다양한 자식 객체가 저장되어 필드 사용 결과 달라짐 매개 변수의 다형성 : 매개 변수를 부모 타입으로 선언하는 효과 메소드 호출 시 매개값으로 부모 객체 및 모든 자식 객체를 제공할 수 있음 자식의 재정의된 메소드가 호출 -> 다형성 자동 타입 변환 (promotion) 자식 객체를 부모타입 변수에 대입할 때 자동으로 타입 변환 생성한 객체를 초기화 할 때 생성한 타입과 같거나 상위 타입이어야 함 메소드 안에 매개변수에 선언된 타입이 있을 때 같은 타입이거나, 하위 타입이여야 함 강제 타입 변환 (casting) 부모 타입을 자식 타입으로.. 2021. 11. 30.
자바 정리 - 상속 상속 추상화의 3요소 : 상속, 다형성, 캡슐화 상속 상속 : 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 코드를 줄여줌 클래스 상속 : 자식 클래스를 선언 할 때 어떤 부모 클래스를 상속받을 것인지 선택 ex) class 자식클래스 extends 부모클래스 { // 필드 // 생성자 // 메소드 } 상속의 특징 여러 개의 부모 클래스 상속 불가능 extends 뒤에는 단 하나의 부모클래스만 가능 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외 부모 클래스와 자식 클래스가 다른 패키지에 조내한다면 default 접근 제한을 가는 필드와 메소드도 상속 대상에서 제외 super( ) : 부모의 기본 생성자를 호출 자식 클래스에서 부모 클래스의 메소드를 재정의.. 2021. 11. 30.
자바 정리 - 인스턴스 멤버와 정적 멤버 인스턴스 멤버와 정적 멤버 클래스에 선언된 필드와 메소드가 모두 객체 내부에 포함되는 것은 아님. 객체가 있어야 사용 가능한 멤버가 있고, 그렇지 않는 멤버도 있음 인스턴스 멤버 : 객체마다 가지고 있는 멤버 인스턴스 필드 : 힙 영역의 객체마다 가지고 있는 멤버, 객체마다 다른 데이터를 저장 인스턴스 메소드 : 객체가 있어야 호출 가능한 메소드 클래스 코드(메소드 영역)에 위치하지만, 이해하기 쉽도록 객체마다 가지고 있는 메소드 this : 클래스를 메모리에 올렸을 때 인스턴스, 객체 자기 자신을 가리킬 때 정적 멤버(static) : 객체와 상관없는 멤버 클래스 코드(메소드 영역)에 위치 정적 필드 및 상수 : 객체 없이 클래스만으로도 사용 가능한 필드 정적 메소드 : 객체가 없이 클래스만으로도 호출.. 2021. 11. 30.
자바 정리 - 객체 지향 프로그램(OOP : Object-Oriented Programming) 객체 지향 프로그램 (OOP : Object-Oriented Programming) 객체(Object) 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지며 식별 가능한 것 속성(필드(field) + 동작(메소드(method))로 구성 클래스로부터 생성되며, new 클래스( )로 생성 객체와 객체 간의 상호작용 메소드를 통해 객체들이 상호작용 메소드 호출 : 객체가 다른 객체의 기능을 이용하는 것 클래스(class) 자바의 설계도 (객체를 만들기 위한 설계도) 인스턴스(instance) : 클래스로부터 만들어진 객체 (객체는 클래스의 인스턴스) 하나의 클래스로 여러개의 객체 생성 가능 객체지향 프로그래밍 단계 클래스 변수 : 클래스로 선언한 변수, 해당 클래스의 객체 번지가 저.. 2021. 11. 30.
자바 정리 - 배열, 열거타입 배열 배열 : 데이터를 연속된 공간에 나열하고 각 데이터에 인덱스(Index) 부여한 자료구조 같은 타입의 데이터만 저장할 수 있음 한 번 생성된 배열은 길이를 늘리거나 줄일 수 없음 (단점) / ArrayList 사용 인덱스가 0번부터 시작 반복문과 함께 사용 배열 변수 선언 형식1 형식2 int [ ] intArray; int intArray[ ]; double [ ] doubleArray; double doubleArray[ ]; String [ ] strArray; String strArray[ ]; 참조할 배열 객체 없는 경우 배열 변수는 null값으로 초기화 ex) 타입[ ] 변수 = null; 배열 생성 값 목록으로 배열 생성 (리터럴) 타입 [ ] 변수 = { 값0, 값1, 값2, 값3, .. 2021. 11. 30.
자바 정리 - 타입 참조타입 Binary Search (이진탐색) 객체 : 변수 + 메소드 결합 자바 : 객체 지향 언어 프로그래밍 : 데이터 다루기 언어(프로그램) 변수 : 선언, 초기화 연산자 제어문 조건문 - if, switch 반복문 - for, while 메소드 (함수) - 기본타입(primitive type) : 정수, 실수, 문자, 논리 리터럴 저장 (원시타입) 정수 타입(Integer) : 4byte byte : 1byte = 8bit char : 2byte = 16bit short : 2byte = 16bit int : 4byte = 32bit (기본) long : 8byte = 64bit 실수 타입 : 4byte float : 4byte = 32bit (소수점 7자리까지 저장가능) double : 8byt.. 2021. 11. 30.
728x90
반응형