본문 바로가기

메소드 오버로딩

(3)
면접족보 20/12/21_제네릭, 컬렉션 프레임워크 1. 제네릭 클래스의 타입 인자 제한하는 방법과 효과는? · 상속 및 구현 관계를 이용하여 타입을 제한한다. (extends 키워드 사용) · 인스턴스 생성 시 타입 인자로 상위클래스인 Number 혹은 이를 상속하는 class만 접근 가능하다. · 타입 인자를 제한하기 전(Object)에는 어떤 타입이든 받아들이지만, 타입을 제한함으로써 사전에 오류를 방지한다. · 타입 인자를 인터페이스로도 제한이 가능하며, 상속과 인터페이스 동시 제한도 가능하다. 2. 아래를 참고하여 출력값이 나오도록 프로그래밍 하시오. · 참고 · 작성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 class DBox { private F fr..
제네릭 1. 제네릭이란? · 최상위 클래스인 Object를 사용함으로써 모든 객체들을 받을 수 있기 때문에 컴파일 오류가 직접적(빨간줄)로 보이지 않고, 실시간 에러(출력에서)를 발생시킨다. · 가장 큰 문제는 실시간 오류가 발생하지않고, 전혀 다른 값을 출력하는 경우인데 이와 같은 문제점들을 보완하기 위해 제네릭를 사용한다. · 제네릭 타입을 이용함으로써 잘못된 타입이 사용되어 문제 발생 시 사전에 컴파일 과정에서 제거가 가능하고, 객체의 타입을 컴파일 시에 체크하여 객체 타입의 안정성이 증가하고 형변환도 감소한다. · 제네릭 타입은 으로 표현하고, 그 사이에는 타입 파라미터를 가진다. 2. 제네릭의 기본 문법 · Object ob는 어떠한 객체든 받아들이며, Object 부분을 타입으로 변경하여 정의..
면접족보 20/12/07_메소드 오버로딩 1. 인스턴스 함수에 클래스 변수와 함수가 접근 할 수 있는 이유는? · 클래스 변수와 함수는 미리 메모리에 저장되어 있는 상태이기 때문에 Call Stack 영역에 저장되는 인스턴스 함수에는 접근이 가능하다.(메모리에 static이 먼저 올라가기 때문!) 2. 메소드 오버로딩이란? · 같은 class 내에서 사용하려는 메소드 명이 이미 존재하는 경우, 파라미터(매개변수)의 수가 다르거나 데이터 타입이 다른 경우 컴파일 오류가 발생하지 않는다. (같은 메소드 명을 매개변수의 타입과 개수를 달리하여 사용) · why? 메소드 명이 같을 때 매개변수의 수와 데이터 타입이 다르기 때문에 컴파일 시 구분이 가능해진다. · ex) 3. 메소드 오버로딩을 적용한 대표적인 함수는? · println(), 아래와 같이..