본문 바로가기

분류 전체보기347

728x90
JAVA_ Test118_ 중첩 클래스 종류 / 지역 클래스(로컬 클래스, local class) Test118 중첩 클래스 종류 / 지역 클래스(로컬 클래스, local class)※ 지역 클래스(로컬 클래스, local class) : 메소드 내부에...『public class 클래스명』 or 『public static class 클래스명』 Test2.java class Test2//-- outer class{static int a=10;//-- 전역변수 멤버변수 static변수(클래스변수)int b=20;//-- 전역변수 멤버변수 instance변수 void write()//-- 첫 번째 write() 메소드{System.out.println("write()...");final int c=30;//-- 지역변수 상수화된변수(값이변하지않는변수)int d=40;//-- 지역변수 (값이 수시로 변할 .. 2018. 6. 16.
JAVA_ Test117_ 중첩 클래스 종류 / static 중첩 클래스 / 내부 클래스 / 지역 클래스 / 무명 클래스 Test117 중첩 클래스 종류 (static 중첩 클래스 / 내부 클래스 / 지역 클래스 / 무명 클래스)※ Test119 와 비교할 것~!! ※ 중첩 클래스 개요 중첩 클래스란 클래스 안에 다른 클래스가 설계되어 있는 형태로 클래스 내부에서만 사용할 보조 클래스가 필요한 경우 클래스를 중첩하여 프로그램의 구조를 보다 더 간단하고 알아보기 쉽도록 만들 수 있는데 이러한 클래스를 중첩 클래스라 한다. 이는 특정 클래스를 자신의 클래스 내부적인 용도로만 사용할 목적으로 쓰이는데 특정 클래스를 마치 자신의 멤버 변수나 메소드처럼 사용할 수 있게 한다. ※ 중첩 클래스의 종류 (4가지) 1. static 중첩 클래스(중첩 내부 클래스) 클래스 내부에 『public static class 클래스명』 중첩 클래스.. 2018. 6. 16.
JAVA_ Test116_ 인터페이스(Interface) / 인터페이스를 활용하여 성적 처리 프로그램을 구현 Test116 인터페이스(Interface) / 인터페이스를 활용하여 성적 처리 프로그램을 구현※ 실습 문제 성적 처리 프로그램을 구현한다. 단, 인터페이스를 활용할 수 있도록 한다. ※ 100-90 수 90-80 우 80-70 미 70-60 양 import java.util.Scanner;import java.io.IOException; // 속성만 존재하는 클래스 → 자료형 활용 Record.java class Record{String hak, name;//-- 학번, 이름int kor, eng, mat;//-- 국어, 영어, 수학 점수int tot, avg;//-- 총점, 평균(편의상 정수 처리)} // 인터페이스Sungjuk.javainterface Sungjuk{public void set();.. 2018. 6. 16.
JAVA_ Test115_ 인터페이스(Interface) 정의 / 『extends』 vs 『implements』 쓰이는 영역 정의 Test115 인터페이스(Interface) 정의 / 『extends』 vs 『implements』 쓰이는 영역 정의※ 『extends』 vs 『implements』 클래스 extends 클래스 클래스 extends 추상클래스 인터페이스 extends 인터페이스 인터페이스 extends 인터페이스, 인터페이스 추상클래스 implements 인터페이스 추상클래스 implements 인터페이스, 인터페이스 클래스 implements 인터페이스 클래스 implements 인터페이스, 인터페이스 ※ 인터페이스는 클래스와는 달리 다중 상속이 가능하며, 인터페이스 자체도 상속된다. ※ 인터페이스의 멤버 변수인 데이터는 접근제어지시자를 명싱하지 않아도 기본 상수(primitive constant)인 static fi.. 2018. 6. 16.
JAVA_ Test114_ 인터페이스(Interface) 정의 Test114 인터페이스(Interface) 정의 / 인터페이스를 구현하는 추상클래스를 상속받는 클래스// 인터페이스 Demo.java interface Demo{public void write();public void print();} // 인터페이스를 구현하는 추상클래스DemoImpl .javaabstract class DemoImpl implements Demo{@Overridepublic void write(){System.out.println("write() 메소드 재정의...");}// public void print();} // 추상 클래스를 상속받는 클래스DemoImplSub .javaclass DemoImplSub extends DemoImpl{@Overridepublic void pri.. 2018. 6. 16.
JAVA_ Test113_ 인터페이스(Interface) 정의 Test113 인터페이스(Interface) 정의 / JDK 1.6(6.0) 이후 부터 적용 가능한 문법※ JDK 1.5(5.0)에서는 인터페이스 메소드를 오버라이딩(Overriding)할 때 『@Overriding』 어노테이션(annotation)을 사용할 수 없다. JDK 1.6(6.0) 이후 부터 적용 가능한 문법이다. 단, 상속받은 클래스의 메소드를 오버라이딩(Overriding)할 때에는 JDK 1.5(5.0) 에서도 『@Overriding』 어노테이션(annotation) 사용이 가능하다. // 인터페이스 ADemo.java interface ADemo{public void write();} // 인터페이스BDemo.javainterface BDemo{public void print();} /.. 2018. 6. 16.
JAVA_ Test112_ 인터페이스(Interface) 정의 Test112 인터페이스(Interface) 정의※ 인터페이스(Interface) : 완전히 미완성된 채로 남겨져 인터페이스 안에 존재하는 그 메소드도 몸체(정의부)가 없기 때문에 실행 부분이 존재하지 않는다. 클래스를 위한 템플릿으로써의 기능을 수행하는 추상클래스의 한 종류이다.※ 인터페이스는 클래스와 달리 다중 상속이 가능하며인터페이스 자체도 상속된다. 기존의 C++ 언어 등에서 지원되는 다중 상속이 사용 과정에서 많은 문제점을 노출시켰기 때문에 자바에서는 다중 상속의 개념을 인터페이스라는 개념으로 변형하여 인터페이스를 통해 다중 상속을 구현하는 방법을 지원한다. ※ 인터페이스는 상수와 추상 메소드만 가질 수 있으며 인터페이스 안의 메소드들은 접근제어지시자를 명시하지 않아도 『public』으로 설정되.. 2018. 6. 15.
JAVA_ Test111_ 상속 관계에 있는 클래스들 간의 캐스팅 / 업 캐스팅, 다운 캐스팅 Test111 상속 관계에 있는 클래스들 간의 캐스팅 / 업 캐스팅, 다운 캐스팅※ 업 캐스팅, 다운 캐스팅이 정상적으로 이루어지는 경우 1. 하위 객체 생성;//-- check~~!!!★★ 2. 상위 = 하위;//-- 업 캐스팅. 정상. 3. 하위 = 상위;//-- 에러 발생. 4. 하위 = (하위)상위;//-- 다운 캐스팅. 정상. ※ 다운 캐스팅이 정상적으로 이루어지지 않는 경우 1. 상위 객체 생성; 2. 하위 = 상위;//-- 에러 발생. 3. 하위 = (하위)상위;//-- 다운 캐스팅. 런타임 에러. ※ 업 캐스팅은 항상 가능. 다운 캐스팅은 경우에 따라 가능. // super class SuperTest.java class SuperTest{public int a=10, b=20;public.. 2018. 6. 15.
JAVA_ Test110_ 추상 클래스(Abstract) Test110 추상 클래스(Abstract) : 메모리 낭비 없이 미리 호출 계획을 세워두기 위해 만든다.※ 추상 클래스(abstract) 선언만 있고 정의가 없는 하나 이상의 메소드(추상 메소드)를 갖는 클래스로 하위 클래스에서 오버라이딩(Overriding)할 것으로 예상되는 메소드에 대해 메모리 낭비 없이 미리 호출 계획을 세워두기 위해 만든다. ※ 형식 및 구조 [접근제어지시자] abstract class 클래스명 { [접근제어지시자] abstract 자료형 메소드명([매개변수], ...); } ※ 특징 클래스가 적어도 하나 이상의 추상 메소드를 포함할 때 그 클래스는 클래스 앞에 『abstract』 키워드를 붙여 추상클래스로 명시해야 하며, 추상 클래스로 선언한 경우에는 불완전한 형태의 클래스이.. 2018. 6. 15.
JAVA_ Test109_ 상속(Inheritance) / 메소드 오버라이딩(mathod Overriding)의 특징 Test109 상속(Inheritance) / 메소드 오버라이딩(mathod Overriding)의 특징※ 메소드 오버라이딩(mathod Overriding)의 특징 - 메소드 이름, 리턴타입, 파라미터 수나 타입이 완전히 일치해야 한다. - 반드시 상속 관계가 있어야 한다. - 재정의된 하위 클래스의 메소드 접근제어지시자는 상위 클래스의 메소드 접근제어지시자보다 범위가 크거나 같아야 한다. 예를 들어 상위 클래스 메소드의 접근제어지시자가 『protected』 인 경우 하위 클래스가 이 메소드를 오버라이딩(Overriding)하는 경우 접근제어지시자는 『protected』 또는 『public』 이어야 한다. - 『static』, 『final』, 『private』 메소드는 오버라이딩(Overriding)할.. 2018. 6. 15.
728x90
728x90