일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- java
- Git_명령어정리
- spring
- MySQL
- SQL_용어정리
- 인스턴스
- git
- 자바
- 다이어그램
- Linux_명령어정리
- 이클립스
- asp.net
- 배열
- vb.net
- 자바스크립트
- SQL
- workbench
- HTML
- 아파치톰캣
- Spring_오류정리
- CSS
- 인덱스
- Linux
- JavaScript
- DML
- github
- json
- jsp
- Spring_에러정리
- Git_정리
- Today
- Total
목록Java/Java: 문법 정리 (42)
데브마우스
사용자 정의 예외(Exception)은 무엇인가요? 사용자 정의 예외는 기존의 예외 객체를 상속받아서 사용자가 원하는 예외 클래스를 작성하는 것입니다. 아래 코드는 음수가 변수에 입력되면 예외를 발생시키는 예제 코드입니다. class AgeException extends Exception { public AgeException(String message) { super(message); // exception 클래스의 생성자 메서드를 이용합니다. } } public class Main { //출력: //eException: 음수가 입력되었습니다. //at Main.ticketing(Main.java:19) //at Main.main(Main.java:11) public static void main(St..
추상 메서드와 추상 클래스는 무엇인가요? 추상 메서드와 추상 클래스는 메서드 혹은 클래스를 선언만 하고 안의 내용만 작성하지 않은 메서드와 클래스를 의미합니다. abstract를 메서드 혹은 클래스 앞에 작성합니다. 예제 코드입니다. abstract class abClass { abstract void abMethod(); } 추상 클래스로 부터 상속을 받은 경우 반드시 추상 메서드를 작성해야합니다.
예외 발생하는 throw 자바에서는 예외도 하나의 객체입니다. 그렇기에 고의적으로 예외를 생성할 수 있습니다. 예외를 발생하면 해당 메서드에서 예외가 발생됩니다. public class Main { public static void main(String[] args) { try { Exception e = new Exception("고의 예외"); throw e; } catch(Exception e) { e.printStackTrace(); // 출력:고의 예외 } } } 예외를 던지는 throws #예외 던지기 앞서 throw가 예외를 자기 자신이 처리했다면 throws는 예외를 자기 자신이 처리하지 않고 다른 메서드에서 예외를 처리하도록 합니다. public class Main { public sta..
예외(Exception)는 무엇인가요? 만약 사용자로부터 나이를 숫자로 입력받으려는데 한글로 '열아홉살'이라고 입력했다면 어떨까요? 데이터 타입은 int 타입으로 선언되었지만 입력된 값은 문자열입니다. 이처럼 예상치 못한 상황에서 예외가 발생합니다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("나이를 입력해주세요 : "); int age = sc.nextInt(); System.out.println("age : " + age); //나이를 입력해주세요 : //열아홉살 //Exception in ..
내부 클래스는 클래스 안에 클래스를 작성하는 것입니다. 아래는 내부 클래스 사용 예제입니다. class OuterClass{ int outer = 20; class InnerClass { int inner = 10; } } public class Main { public static void main(String[] args) { OuterClass oc = new OuterClass(); // new OuterClass.InnerClass()라고 적을거라 예상했는데 oc.new InnerClass()로 인스턴스화시킵니다. // 어찌보면 클래스 전에 문자열이오면 패키지 이름으로 인식하기때문에 new 이전에 외부 클래스 이름을 적는걸로 보입니다. OuterClass.InnerClass ic = oc.new..
Java의 다형성(Polymorphism)이란 무엇인가요? 다형성이란 코드로 표현할 경우 아래와 같습니다. 부모_클래스 poly = new 자식_클래스(); 부모 클래스의 데이터 타입으로 선언한 후 자식 클래스의 생성자로 생성하는 것입니다. 다형성에서 자식 클래스는 부모 클래스로부터 상속받았기 때문에 부모 클래스의 데이터 타입일지라도 객체를 인스턴스화 시킬 수 있습니다. 다형성을 비유로 설명하자면, 서로 다른 2대의 노트북이 있습니다. 하지만 이 2대의 노트북 모두 외장 모니터에 화면을 송출할 수 있습니다. 여기서 부모 클래스는 외장 모니터에 해당되며 자식 클래스는 노트북입니다. 다형성은 왜 필요한가요? 여러 타입의 객체를 하나의 부모 클래스로 다루기 위해서 필요합니다. 아래 예시코드에서 ArrayLis..
Java의 접근 제어자란 무엇인가요? 접근 제어자는 클래스 외부에서 클래스의 멤버(변수와 함수)에 접근할 수 있는 정도와 범위를 설정합니다. 접근 제어자는 4가지가 있습니다. 접근 제어자 이름 설명 public 접근 제한이 없습니다. protectd 같은 패키지 내에서와 자손 클래스에서만 접근이 가능합니다. default (앞에 아무것도 작성하지 않는 상태입니다.) 같은 패키지 내에서만 접근할 수 있습니다. private 같은 클래스 내에서만 접근할 수 있습니다. 제일 많이 사용하는 접근 제어자는 public과 private입니다. 아래는 예제 코드입니다. /* Main.java */ package Main; public class Main { public static void main(String[] ..
Java의 package란 무엇인가요? Java의 패키지는 클래스를 모아놓은 일종의 집합이라고 할 수 있습니다. 패키지 생성 시 폴더가 생성됩니다. java 파일이 package에 들어가 있따면 package [패키지_이름]; 로 선언해야합니다. /* package A └─ AAA.java └─ BBB.java */ package A; public class AAA { } Java의 import란 무엇인가요? import는 다른 패키지에 있는 클래스를 사용하기 위해 사용합니다. 만약 사용자로 부터 입력을 받기 위해 Scanner 클래스를 사용하고 싶다면 아래 코드처럼 선언해야합니다. import java.util.Scanner; // java.util 패키지의 Scanner 클래스를 import합니다. ..
Java의 오버라이딩이란 무엇인가요? 오버라이딩은 부모 클래스(슈퍼 클래스)에서 자식 클래스(서브 클래스)가 상속 받은 메서드를 재정의하여 사용하는 것을 의미합니다. 만약 부모의 메서드를 그대로 사용하고 싶다면 super.메서드명();으로 작성하시면 됩니다. 아래는 예제 코드입니다. class Creature { void sleep() { System.out.println("잠을 잡니다."); } } class Chipmunk extends Creature { void sleep() { System.out.println("Chipmunk는 잠을 잡니다."); super.sleep(); } } public class Main { public static void main(String[] args) { //..
Java의 상속이란 무엇인가요? 상속이란 클래스를 작성할 때 기존의 클래스에 존재하는 멤버를 물려받아서 사용하는 것 입니다. class Creature { void sleep() { System.out.println("잠을 잡니다."); } } class Chipmunk extends Creature { // sleep() 이라는 메서드가 Chipmunk 클래스에는 없습니다. } public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Chipmunk daramgee = new Chipmunk(); daramgee.sleep(); } } Java의 상속 시 주의할점은 무엇인가요? Java는 ..