자바에서 예외 처리 방법 (try, catch, throw, throws, finally) try - catch - finally 자바 내에서는 Exception을 처리하기 위해서 흔히 말하는 try - catch - finally구문을 활용한다. 말그대로 실행, 에러잡기, 최종 결과라는 뜻인데 다음 예제 코드를 보자. try { 실행 코드 } catch (NullPointerException e1) { e1 발생 시 실행되는 코드 } catch (ClassCastException e2 || IllegalArgumentException e3) { e2 혹은 e3 발생 시 실행되는 코드 } catch (RunTimeException e4) { e4 발생 시 실행되는 코드 } ... finally { 실행코..
인터페이스 정의하는 방법 인터페이스는 결국 앞전에 상속에서 배웠던 "추상클래스"이다. 추상클래스란 추상화한 메소드를 가진 메소드 즉, 아직 구현되지 않은 메소드들을 가진 클래스였다. 인터페이스는 이 추상클래스에서 추상화 정도가 매우 높아서 오로지 추상 메소드와 상수만을 멤버로 가진 클래스를 말한다. 추상클래스가 조금 만들어둔 설계도라고하면 인터페이스는 아예 아무것도 안만든 설계도라고 할 수 있다. interface 인터페이스이름{ public static final 타입명 변수이름 = 값; public abstract 메소드명 (매개변수, ...); } 이때 모든 상수는 반드시 public static final 이어야하며, 생략하여 사용할 수 있다. 메소드도 마찬가지로 public abstract 이어..
package 키워드 클래스를 모아둔 폴더 자바에서 패키지는 비슷한 성격을 가진 자바 클래스들을 한군데 모아놓은 디렉토리의 개념으로 사용된다. 단, 자바 클래스를 모아놓은 디렉토리이지 일반 디렉토리와는 다른 기능을 제공한다. 같은 이름의 클래스를 선언하더라도 구분지어서 사용할 수 있다. 비슷한 기능의 클래스를 묶어서 보관하여 편리하게 관리할 수 있다. 같은 패키지내에서는 같은 클래스명을 사용할 수 없지만 다른 패키지내에 있다면 클래스 선언이 가능하다. 바뀐건 경로뿐인거 같은데 구분이 되는 이유는 클래스가 물리적으로 하나의 클래스파일(.class)인 것과 같이 패키지도 마찬가지로 물리적으로 하나의 디렉토리로 정해져있기 때문이다. 따라서 개별적인 패키지 체계를 만듦으로써 따로 개발된 클래스 라이브러리이더라도..
자바 상속의 특징 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속은 그 단어의 뜻과 마찬가지로 부모 클래스를 자손 클래스에 변수와 메소드를 물려주는 것을 말한다. 지금의 상속은 class와 class 간의 상속에 대해서 이야기 할 것이므로 Interface와 implement는 다음 포스팅에서 이야기할 예정이다. 간단하게 맛만 먼저 보자. class Parent{ private String name; private int money = 30; public int getMoney() { return money; } } class Child extends Parent { private String name; private int money; public Child(int mone..
클래스 정의하는 방법 객체 지향 프로그래밍(OOP, Object-Oriented Programming) 모든 데이터를 객체(Object)로 취급하며 이 객체를 중심으로 돌아가는 프로그래밍을 말한다. 객체란 단순히 우리가 인식할 수 있는 사물을 말한다. Class(클래스) 클래스란 "객체를 정의해놓은 것", "객체의 설계도 또는 틀"로 정의할 수 있다. 자바는 클래스를 가지고 필요한 객체를 생성해서 사용한다. 자바에서 클래스는 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method), 생성자(constructor)로 구성된다. 즉 필드에는 클래스에 포함된 변수가 이에 해당하고, 클래스 내에 있는 모든 명령어들이 메소드에 해당된다. package Week5; public cla..
선택문 조건에 따라 명령을 처리하는 문법 if~else문 switch~case문 자바에서는 특정 데이터의 값에 따라 수행할 구문을 선택하는 문법을 제공한다. 연속된 값으로 데이터의 범위를 확인하는 if문, 그리고 불연속 값들을 case별로 나누어서 확인하는 switch문이 있다. if~else문 package Week4; public class Exam1 { public static void main(String[] args) { int month = 4; if(month==12 || month==1 || month==2) System.out.println("winter"); else if(month==3 || month==4 || month==5) System.out.println("spring"); ..
산술 연산자 연산자라고 특이한 무언가가 있는 것은 아니고 흔히 사칙연산에서 사용하는 덧셈, 뺄셈, 곱셈, 나눗셈과 더불어 나머지 연산을 포함한 연산을 말한다. 나눗셈 연산의 경우 소숫점은 무조건 버림이 되니 유의해서 사용해야한다. package Week3; public class Exam1 { public static void main(String[] args) { int a = 12; int b = 5; System.out.println("a + b = " + (a+b)); System.out.println("a - b = " + (a-b)); System.out.println("a * b = " + (a*b)); System.out.println("a / b = " + (a/b)); System.ou..
프리미티브 타입 종류와 값의 범위 그리고 기본값 데이터 타입을 다루기 앞서 과연 데이터 타입이 뭐고 왜 굳이 데이터 타입을 나눠서 저장하는지에 대한 의문점을 가졌다. 컴퓨터 메모리에는 비트의 패턴이 저장되며 이것이 무엇을 의미할지는 어떻게 사용되는가에 따라 달려있다. 컴퓨터에 사용되는 메모리는 "유한"하다. 만약 사용할 변수의 크기가 8bit 밖에 안되는데 64bit의 데이터 타입을 사용한다면 56 bit의 데이터 낭비가 발생한다. 물론 bit 타입의 크기가 그렇게 크지는 않지만 큰 서비스를 운영할 때 쌓이고 쌓이다보면 많은 메모리를 차지하게 되고 이는 성능 저하의 원인이 된다. 그래서 내가 사용하는 변수의 범위와 타입에 맞게 사용하는 것이 중요하다. 데이터 타입에는 두가지 타입이 있다. Primitiv..
- Total
- Today
- Yesterday