목록공부/JAVA (7)
공hannah부

Object 클래스 특징 java.lang 패키지에 포함되어있다. 모든 클래스의 슈퍼 클래스이다. 주요 메소드 boolean equals(Object obj) : obj가 가리키는 객체와 현재 객체를 비교하여 같으면 true 리턴 Class getClass() : 현 객체의 런타임 클래스 리턴 int hashCode() : 현 객체에 대한 해시코드값 리턴 String toString() : 현 객체에 대한 문자열 표현을 리턴 void notify() : 현 객체에 대해 대기하고 있는 하나의 스레드 깨움 void notify() : 현 객체에 대해 대기하고 있는 모든 스레드 깨움 void wait() : 다른 스레드가 깨울때까지 현재 스레드를 대기 객체 비교와 equals() ==연산자 : 두개의 레퍼런스..

제네릭 프로그래밍 기본 일반적인 코드를 작성하고 이 코드를 다양한 타입의 객체에 대하여 재사용하는 프로그래밍 기법이다. 타입을 파라미터로 가지는 클래스와 인터페이스로 정의한다. 선언 시 클래스 또는 인터페이스 이름 뒤에 타입 파라미터 일반적으로 대문자 알파벳 하나로 표현한다. 제네릭을 사용하는 이유 컴파일 시 강한 타입 체크 가능 클래스의 구조와 연결관계가 복잡해지면서 타입 오류들이 발생할 수 있다. 이때 런타임-타입 에러가 나는 것을 방지한다. 타입명시 및 타입 변환 제거 가능 list에 일관된 타입의 정보를 저장하도록 명시한다. 제네릭 타입 사용 예시 클래스 선언시 타입 파라미터 사용 컴파일 시 타입 파라미터가 구체적인 타입으로 변경 public clss Box{ private T t; public ..

예외 처리 코드(try-catch-finally) - try 블록 예상되는 문제를 try 블록으로 설정한다. try{ 예외발생 가능 코드 } - catch 블록 catch 블록은 여러개 존재할 수 있으며, 최상위 예외는 가장 마지막에 위치시킨다. catch(Exception e){ 예외를 처리하는 코드 } -finally 블록 finally 블록은 예외 발생과 전달 여부에 관계없이 항상 실행되는 코드블록이다. 생략 가능하다. finally{ 항상 실행 } 예외 전달하기(throws) - catch와 달리 전달만 해서 예외 떠넘기기 라고도 한다. - 메소드 선언부 끝에 작성한다. 리턴타입 메소드명(매개변수,...) throws 예외클래스1, 예외클래스2,...{ } 사용자 정의 예외 - 자바 표준 API에..

캐스팅 업캐스팅이란? 서브 클래스 객체를 슈퍼 클래스 타입으로 변환하는 것 업캐스팅된 레퍼런스는 객체 내에 슈퍼 클래스의 멤버만 접근 가능하다 부모 타입에는 모든 자식 객체가 대입 가능하기에 프로그램 실행 도중에 자동 타입 변환이 일어난다 다운캐스팅이란? 업캐스팅 시킨 슈퍼 클래스 객체를 서브 클래스 타입으로 변환하는 것 개발자의 명시적 타입 변환이 필요하다 업캐스팅된 타입에 한하여 다시 자식으로 다운캐스팅 할 때는 강제변환해야한다. 자동 타입 변환 바로 위의 부모가 아니더라도 상속 계층의 상위에 있다면 자동 타입 변환이 가능하다 객체연산자 instanceof instanceof 연산자? 레퍼런스가 가리키는 객체의 타입을 식별하기위해 사용된다. 어떤 클래스로 만들어진 객체인지 비교 가능하다. 인자가 Up..

Java에서 제공하는 원시 타입들에 무엇이 있고, 각각 몇 바이트를 차지하나요? boolean: 1byte char: 2byte byte: 1byte short: 2byte int: 4byte long: 8byte float: 4byte double: 8byte 오버라이딩(OverRiding)과 오버로딩(OverLoading)에 대해 설명해주세요. 오버라이딩: 부모 클래스로부터 상솟받은 메소드를 자식 클래스에서 재정의 하는 것. 오버로딩: 자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 타입이 다르면 같은 이름을 사용해서 메소드를 정의할 수 있는 것. 객체지향 프로그래밍(OOP)에 대해 설명해주세요 객체지향 프로그래밍이란 필요한 데이터를 추상화시켜 ..

1. Hello World! 출력하기 public class Main { public static void main(String[] args) { System.out.println("Hello World!"); } } 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 2. 고양이 그림 출력하기 public class Main { public static void main(String[] args) { System.out.println("\\ /\\"); System.out.println(" ) ( ')"); System.out.println("( / )"); System.out.println(" \\(__)|"); } } 10171번: 고양이 아래 예제와..