[TIL][Java][220614] review

ss5Jng·2022년 6월 14일
0

Today I Learned

목록 보기
11/13

Q1. 객체지향 프로그램 (OOP) 풀네임
object oriented programming

Q2. 객체지향의 특징 3가지
캡슐화(private, protected, default, public), 상속성(extends), 다형성(다양한 형태를 가질 수 있다.)

Q3. 생성자의 역할
초기화

Q4. 인스턴스변수, 지역변수, 인스턴스메서드, 클래스메서드 구분
인스턴스 변수 - heap area - new,this 관련
지역변수 - stack area - new,this 관련 X
- 인스턴스 변수와 지역변수를 구분하기 위해 this 사용
인스턴스 메서드 - heap area
클래스 메서드 - method area

Q5.오류의 이유와 수정하기
지역변수는 무조건 초기화를 해야 한다.

int show2(){int a=0; return a;}

Q6.runtime data area 종류
method, heap, stack

Q7.접근제어자 사용범위
public > protected > default> private

Q8. getter와 setter 구문 사용

public int getNo(){return no;}
public void setNo(int no){this.no=no;}

Q9. 빈칸 채우기
implements

Q10. 오류 코드
interface의 멤버변수 선언 시 final static이므로 수정 불가능

Q11. 오류나는 코드 수정하기

Vehicle43 vehicle43 = new Bus43();
//업캐스팅
//부모는 자식을 담을 수 있다. 형변환 생략가능
Bus43 bus43 = (Bus43)vehicle43;
//다운캐스팅
//자식은 부모를 담을 수 있다. 단, 부모가 자식생성자를 사용한 적이 있어야 한다.

Q12
공통점 : 구현시 자손클래스를 통해서 구현을 해야 한다.
차이점 : 추상화정도가 interface가 더 강하다. interface(상수, abstrace메서드) abstract (인스턴스 변수, 메서드 사용가능)

Q13
다형성은 다양한 형태를 띄는 성질

  • 업캐스팅 : 부모는 자식을 담을 수 있다. 형변환 생략가능
  • 다운캐스팅 : 자식은 부모를 담을 수 있다. 형변환 생략 불가능

Q14
오버로딩은 같은 목적의 메서드들의 이름을 같게 하여, 파라미터의 타입과 개수를 다르게 한다.
오버라이딩은 상속시 보무와 같은 메서드를 재정의한다.

Q15

public class Exception{
	private static void test(int a) throws Exception { // ##1. 오류처리 넘기기
		System.out.println(10 / a); // ##
	}
	public static void main(String[] args) {
		// ##2. 오류처리 호출한 곳에서 try~catch
		try {
			test(1); // public static 리턴값 메서드명(파라미터)
			test(0); // public static void test(int a){} ##
		} catch (Exception e) {
			System.out.println("##Error 발생");
		}
	}// end main
}// end class
profile
백엔드 개발자입니다:)

0개의 댓글