본문 바로가기

반응형

Java

Java 예외처리(exception handling) ● Java 예외처리 (exception handling) 1. 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이런 결과를 에러(오류)라고 부른다. 2. 에러의 종류에는 컴파일 에러, 런타임 에러, 논리적 에러가 있다. 3. 컴파일 에러는 javac.exe가 구문체크, 번역, 최적화하는 과정에서 발생하는 에러다. eclipse를 사용하면 컴파일을 자동으로 해준다. 원래는 cmd창에서 컴파일을 따로 해줘야 했었다. 4. 런타임 에러는 프로그램 실행 도중에 발생하는 에러다. 5. 논리적 에러는 컴파일, 실행이 잘되지만 의도한 것과 다르게 동작하는 것을 말한다. 6. 에러(error)는 프로그램 코드에 의해서 수습될 수 없는 심각한 오류를 말한다. 7. 예외(exc.. 더보기
Java 추상클래스(abstract class)란 무엇인가? 간단하게 얘기하면... 메서드는 보통 선언부와 구현부가 있다. 그런데 추상메서드는 선언부는 있지만 구현부가 없다. 이런 추상메서드를 가지고 있는 클래스를 추상클래스라 부른다. 예시 코드 abstract class Player {//추상 클래스(미완성 클래스, 미완성 설계도) abstract void play(int pos);//추상 메서드(미완성 메서드) abstract void stop();//추상 메서드 (선언부만 있고 구현부{}가 없는 메서드 } //추상클래스는 상속을 통해 완성해야 객체 생성이 가능함 class AudioPlayer extends Player { void play(int pos) {System.out.println(pos+"위치부터 실행합니다.");}; void stop() {Sy.. 더보기
Java 인터페이스(interface)란 무엇인가? 1. 추상 메서드의 집합이다. - 암기하는 부분임. 그냥 외우기. 2. 구현된 것이 없는 설계도. 밑그림만 그려져 있다고 보면 된다. 모든멤버가 public이다. 3. 추상클래스와 인터페이스 차이가 뭐냐? - 일반 클래스인데 추상 메서드를 가지고 있으면 추상클래스다. - 인터페이스는 구현된 것이 아무 것도 없음. 4. 예시 public interface PlayingCard { public static final int SPADE = 4; final int DIAMOND = 3; static int HEART = 2; int CLOVER = 1; public abstract String getCardNumber(); String getCardKind(); } 5. 인터페이스의 조상은 인터페이스만 가능하다.. 더보기
Java 매개변수의 다형성 예제 package www.earth.sun; class Product { int price; int bonusPoint; Product(int price) { this.price = price; bonusPoint = (int)(price/10.0); } } class Tv1 extends Product { Tv1() {super(300); } public String toString() { return "Tv";} } class Computer extends Product { Computer() {super(200);} public String toString() {return "Computer";} } class Buyer { int money = 1000; int bonusPoint = 0; void .. 더보기
Java println 출력이 되지 않는 이유 30분을 헤맸다. 처음 class파일을 만들 때 이름과 main 메서드가 있는 class 이름이 같아야 한다. 이름이 일치하지 않으면 아무리 컨트롤 f11을 눌러봐도 콘솔창에는 아무 것도 나오지 않는다. 이름이 일치하는지 꼭 확인할 것...! class Car { String color; String geartype; int door; Car () {} Car(String c, String g, int d) { color = c; geartype = g; door = d; } } class Car12 { public static void main(String[] args) { Car c1 = new Car(); c1.color = "white"; c1.geartype = "auto"; c1.door = .. 더보기
Java 메서드 return에 대해서 Java에서 메서드란 어떤 행동을 표현하는 방법이다. 예를 들어서 된장찌개를 끓인다고 가정해보자. 1. 준비물을 준비한다(파, 양파, 된장, 멸치, 청양고추 등등) 2. 물을 끓인다. 3. 준비물을 넣는다. 4. 끓여서 먹는다. 이걸 메서드로 표현해보면 다음과 같다. 된장찌개 끓이기 { 1. 준비물을 준비한다(파, 양파, 된장, 멸치, 청양고추 등등) 2. 물을 끓인다. 3. 준비물을 넣는다. 4. 끓여서 먹는다. } 여기서 만약 외부에서 재료를 전달받으면(변수) 어떻게 될까? 된장찌개 끓이기(파, 양파, 된장, 멸치) { 1. 파, 양파, 된장, 멸치를 준비한다 2. 물을 끓인다. 3. 준비물을 넣는다. 4. 끓여서 먹는다. } 여기서 return의 개념이 나온다. 리턴을 왜 쓰냐?라고 묻는다면... .. 더보기
캡슐화와 접근 제어자 class Time { private int hour;//0~23값을 가져야함. 손대면 안됨. private int minute; private int second; } public class TimeTest { public static void main(String[] args) { TimeTest t = new TimeTest(); t.hour = 100; System.out.println(t.hour); } } //Time 클래스에서 private로 캡슐화를 했기 때문에 다른 클래스에서 변경 불가 만약 private가 아니라 public으로 멤버변수를 선언하면, 다른 객체에서 멤버 변수에 직접 접근하여 값을 변경할 수 있다. hour은 0보다는 같거나 크고 24보다는 작은 범위의 값을 가져야 한다... 더보기
Java 이중 for문 개념. 백준 문제 2440번 풀기. import java.util.Scanner; public class Star { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); for(int i=1; i 더보기

반응형