목록[Java]/Program source (java) (146)
Everything has an expiration date
/*============================================== ■■■ 자바의 주요(중요) 클래스 ■■■ - 자바에서 기본적으로 제공하는 주요 클래스들 ================================================*/ /* ○ 개요 일반적으로 클래스는 하나만 존재하는 것이 아니라 같은 종류의 클래스를 여러 개 묶어서 사용하게 되는데 이러한 클래스나 인터페이스의 묶음을 패키지(package)라고 한다. Sun(Oracle)사에서는 자바 프로그램을 효율적으로 작성할 수 있도록 자바 표준 패키지를 제공하며, 자바 표준 패키지에는 그래픽, 네트워크, 데이터베이스 등의 다양하고 유용한 클래스들이 포함되어 있다. ○ import 구문 자바 표준 패키지나 사용자에 의해..
/*============================== ■■■ 클래스 고급 ■■■ - 중첩 클래스 ================================*/ /* ★ (사용빈도가 높다...) // 클래스명 : 나중에 쓰기 위해서 // 무명 클래스 : 한번 쓰고 버리는... // 프로그램에서 일어나는 모든 상황들을 이벤트라고 표현. // 화면 터치, 드래그 앤 드롭 ... // 무수히 많은 이벤트들에(터치, 화면 켜기...) 이름을 붙일 필요 x! ○ Annonymous 클래스(익명의 클래스 : 무명 클래스) - AWT 나 안드로이드 ★ 이벤트 처리 ★ 에서 일반적으로 사용 - 상위 클래스 메소드를 하나 정도 재정의할 필요성이 있을 때 사용  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ - 클래스의 객체가 필..
public class Test097 { public static void main(String[] args) { int[] nums = {10, 20, 30, 40, 50};//-- 배열 원본 int[] copys1 = nums;//-- 얕은 의미의 배열 복사 수행 //-- (주소값 복사) int[] copys2 = copyArray(nums);//-- 깊은 의미의 배열 복사 수행 //-- (사용자 정의 메소드 호출 → 데이터 복사) // ◎(반환되는 데이터 타입 : 오브젝트(object) → int배열 타입으로 변경) int[] copys3 = (int[])nums.clone();//-- 깊은 의미의 배열 복사 수행 // ------------ Object!!! // ------- // 하위 클래스(..
outer 클래스명. inner 클래스명 참조변수명 = new outer 생성자().new inner 생성자(); /*============================== ■■■ 클래스 고급 ■■■ - 중첩 클래스 ================================*/ class InnerOuterTest { static int a = 10; int b = 20; class InnerNested { int c = 30; void write() { System.out.println("inner 의 write()..."); System.out.println("a : " + a); System.out.println("b : " + b); System.out.println("c : " + c); } }..
메소드 내부의 지역(Local) 중첩 클래스를 사용할 때 주의할 사항 outer 클래스의 write() 메소드가 실행될 때만 사용할 수 있는 inner 클래스 (LocalTest) 이때, outer 클래스의 write() 메소드 내부에 지역변수 `final int c = 20;`와, `int d = 40;`를 선언하고 inner 클래스의 write() 메소드에서 d를 출력하려 하면 오류가 발생한다. outer의 wirte() 메소드 내부의 지역변수 d의 값을 변동시키면(sum) 메소드가 어디서, 언제 호출될지에 따라 d 값이 변화하기 때문에 값이 불안정해진다. 따라서, inner 클래스의 write() 메소드에서 d를 출력하려고 하면... Java에서 불안정한 값의 출력을 막기 위해서 접근을 막는 것이다..
○ 중첩 클래스 중첩 클래스란 클래스 안에 다른 클래스가 설계되어 있는 형태로 클래스 내부에서만 사용할 보조 클래스가 필요한 경우 클래스를 중첩하여 프로그램의 구조를 보다 더 간단하고 알아보기 쉽도록 만들 수 있는데 이러한 클래스를 중첩 클래스라 한다. 이는, 특정 클래스를 자신의 클래스 내부적인 용도로만 사용할 목적으로 쓰이는데 특정 클래스를 마치 자신의 멤버 변수나 메소드처럼 사용할 수 있게 한다. ○ 중첩 클래스의 종류(4가지) 1. static 중첩 클래스(중첩 내부 클래스) → 클래스 내부에... 『public static class 클래스명』 중첩 클래스를 감싸는 외부 클래스의 『{}』안에 static 을 붙인 새로운 클래스를 설계하는 것으로 모든 접근제어지시자를 사용할 수 있다. static..