1. Maker 인터페이스에 대하여 설명하시오. 개발자들이 붙인 이름이나 공식적인 명칭은 아니다. interface Upper{ } //마커 인터페이스 interface Lower{ } //마커 인터페이스 이렇게 중괄호 안에 텅 비어도 문법적으로 허용 됨 2. 추상 클래스(abstract class)에 대하여 설명하시오. class 앞에 abstract가 붙는 것이며 body 부분이 텅 비어 온전치 못한 함수로 구성된다. public abstrat class House { public void methodOne( ){ System.out.println("method one"); } } 인터페이스가 아닌 일반 클래스라도 abstract가 붙으면 구현 부분이 생략된다. 즉, 구현을 하고 싶지 않을 때 abs..
1. Object 클래스란? 모든 클래스들이 굳이 적지 않아도 상속하는 클래스. 즉, 모든 클래스는 Object 클래스를 상속한다. 그래서 내가 굳이 extends Object를 적지 않아도 컴파일러가 생성해주나 생략되는 것. 1 2 3 class A extends Object { } cs cf) 컴파일러가 자동으로 해주는 것. 1. 자동 형변환 2. 디폴트 생성자 3. 상속시 디폴트 super생성자 4. extends Object 2. 아래의 소스코드에 대하여 아래와 같이 출력되는 이유는? 출력 A@28a418fc ============== class A{ } public class Test { public static void main(String[] args) { A a = new A(); Syst..
1. is a 관계와 has a 관계란? 2.다형성(polymorphism)이란 무엇인가? 3. 아래가 되지 않는 이유에 대하여 메모리 그림으로 설명하시오. //MobilePhone(부모) SmartPhone(자식) SmartPhone ph2 = new MobilePhone(); 4.메소드 오버라이딩(Overriding) 이란? 5.자바의 정석: 연습 문제 56page - 3개의 함수를 완성 하시오. 6. 갬블링 게임을 만들어 보자. (문제 5번 과 6번은 상속은 안써도됨) 두 사람이 게임을 진행한다. 이들의 이름을 키보드로 입력 받으며 각 사람은 Person 클래스로 작성하라. 그러므로 프로그램에는 2개의 Person 객체가 생성되어야 한다. 두 사람은 번갈아 가면서 게임을 진행하는데 각 사람이 자기 ..
1. String 에서 concat 메소드에 대해서 설명하시오. 단순히 붙이는 것으로 앞 뒤 문자열을 연결해주는 것이다. +연산을 사용하고 f3을 돌리면 +연산이 concat으로 풀어져 내부적 계산이 되는 것을 확인 할 수 있다. String str 뒤에 str2를 붙이는 것. 예) str.concat(str2) 2. String 에서 substring 메서드 사용법은? subString(0)은 잘라 내어 메모리에 다시 생성하는 것이다. chaAt(0)는 메로리에 다시 생성시키지 않고 코드값만 받아 오는 것이다. String의 인덱스에 해당하는 char를 제거 하는 것. 예) abcd 에 위치별로 삭제되고 그런거 예시 3. String compareTo 사용법은? 문자열이 같으면 정수 0을 리턴. 음수 ..
1. 스택틱 변수의 다른 용어 3가지는? 공유변수, 클래스 변수, 정적 변수 2.스태닉 변수의 접근 방법은? static함수를 만든다 3.스태틱 변수의 활용의 예를 드시오. 4.스태틱 함수에 인스턴스 라면이 올 수 없는 이유는? static 객체가 생성 되기 전에, 인스턴스 변수 및 함수는 메모리에 객체가 생성 될 때 올라간다. 즉 인스턴스 라면은 static 객체가 생성 되기 전에 메모리에 올라가는 것이다. static과 인스턴스 메모리 생성에 시간 차가 있는 것이다. 5. 아래의 프로그램에서 기존에 값을 다이렉트로 넣었던 부분을 Scanner 로 입력 받아 처리 하시오. int math, science, english; math = 90; science = 80; english = 80; Grade ..
1. set classpath 에 대하여 설명하시오. 자기자신의 폴더에서 먼저 찾아보고 이 폴더에서 필요한 클래스들을 찾아라 2.절대 경로와, 상대경로란? 절대 경로란 최상위 디렉토리로 시작하는 것이다. 상대 경로는 기준 자체가 자기 자신인 것이다. 3. cd . 관 cd .. 의 차이는? cd.은 자기자신(상대경로)이고 cd..(절대경로)을 치면 상위 폴더로 이동한다. 4.package 에 대하여 설명해 보시오. 클래스 이름이 같으면 오류가 발생하는데 이를 해결할 수 있는 것이 패키지이다. 5.정보은닉에 대하여 설명하여 보시오. 실수롤 음수를 세팅해도 걸러낼 수 있다. private을 통해 보호하기 때문. 예를 들어 나이를 먹는 것에 대해 계산하려는데 실수로 음수를 적어 넣었다. 이러한 실수는 컴파일 ..
1. 아래의 BankAccount(소스 PPT 참고) 에 대하여 메모리 그림을 그리시오. BankAccount ref1 = new BankAccount(); BankAccount ref2 = ref1; 2.생성자(Constructor)란 무엇인가요? 클래스 이름과 같은 함수. new 뒷 부분. new연산자를 통해 인스턴스를 만들고 인스턴스의 변수를 초기화시키는 역할 public 클래스이름 ( 매개변수 ) { this. = new } 3.디폴트 생성자에 대하여 설명하시오. 개발자가 생성자를 만들지 않아서 컴파일러가 만들어준 생성자 매개변수가 없다. (예를 들어주기) 4.생성자의 용도는? 객체의 초기화 (예를 들어주기) 5. null 에 대하여 설명하시오. 가리키는 주소 없음. 참조변수와 인스턴스와의 관계 ..
1. 변수의 스코프에 대하여 설명하시오. 중괄호와 중괄호 사이를 가리킨다. Scope란 영역을 의미한다. 즉, 변수의 스코프는 변수의 영역으로 직역이 가능하고 변수의 범위라고 보면 되겠다. 해당 변수의 스코프는 중괄호 { } 이다. 변수명이 중복되면 에러가 난다. 2.지역변수란? 함수 안에 선언 된 모든 변수 cf) 전역변수: 어디서나 사용 가능한 변수. 함수 바깥에 선언된 변수 3.인스턴스 변수란? 클래스 내에 선언된 변수 (인스턴스란 객체를 의미 ) 4. 아래의 함수를 펙토리얼로 표현하시오. System.out.println("3 factorial: " + factorial(3)); System.out.println("3 factorial: " + factorial(12)); 1 2 3 4 5 6 7..
1. 함수는 어떻게 알아 볼수있는가? 괄호 있으면 함수 2. 함수 호출 하는 법은? ▶함수 호출이란 빚어낸 만두를 먹는 것과 그 결이 비슷하다. public static void main(String[] args) { }의 중괄호 안, 즉 main 함수 하단 부분이 함수 호출이다. 3. 함수 만드는 법은? ▶main 함수 이외에 함수정의 부분을 생성해야 한다. 함수는 정의 후 호출이 가능하기 때문이다. 함수는 class 안에 존재해야하며 다른 함수안에 존재하면 안 된다. 4. 리턴 타입 void 는 어떠한 경우에 쓰는가? ▶return타입은 값을 구해야 할 때 사용하고, 별찍기, 산찍기처럼 값을 구하는 것이 아니라 보여주는 경우void를 사용한다. (?) 5. 아래를 함수로 만드시오. ***** ****..