본문 바로가기

JAVA

(14)
예외처리 예외상황의 이해를 위한 예제 Exception이해하기 에러의 종류 컴파일 에러 소스코드의 구문 오류로 인하여 컴파일이 불가능한 상태 이클립스에서 빨간색으로 표시되는 경우에 해당한다. 프로그램을 실행하기 전에 발견되므로 상대적으로 고치기 쉽다 런타임 에러 구문상의 에러는 없지만 프로그램이 실행되는 과정에서 다양한 경우의 수에 대응하지 못하여 발생하는 예외상화 런타임에러가 발생하면 프로그램은 강제로 종료된다. 우리가 프로그램의 에러라고 부르는 현상은 대부분 런타임에러에 해당한다. 런타임 에러의 종류 1.런타임 에러의 종류 - 런타임 에러에는 프로그램 자체의 구조적인 문제로 인한 논리적 오류와 자바 가상 머신 자체의 문제로 인한 오류 그리고 예외가 있다 -논리 오류 - 논리적 모순이 생기지 않도록 코드를 작성..
클래스와 객체 클래스와 객체 객체지향 프로그래밍이란 객체가 중심이 되는 프로그래밍 패러다임을 일컷는 용어입니다. 객체 (object) 사전적 의미 : 어떠한 물건이나 대상 프로그래밍에서의 의미 : 프로그램에서 표현하고자 하는 기능을 묶기 위한 단위 객체를 구성하는 단위 객체를 이루는 것은 데이터와 기능이다. 데이터는 변수로 표현된다. 객체 안에 포함된 변수를 멤버변수 혹은 프로퍼티라 한다. 기능은 메서드(=함수)로 표현한다. 클래스(Class) 객체의 설계도 역할을 하는 프로그램 소스 공장에서 하나의 설계도를 사용하여 여러개의 제품을 생산할 수 있는 것처럼 하나의 클래스를 통해 동일한 구조를 잦는 객체를 여러 개 생성할 수 있다. 클래스의가장 기본적인 코드 형식 class 클래스이름{ //변수들 선언부분 //메서드 정..
은닉성 자바빈즈 은닉성 #01. 은닉성이란? 멤버변수나 메서드가 객체에 노출되지 않도록 설정하는 기법 객체를 사용하는 측의 실수로 인한 기능의 오작동을 방지하기 위해, 클래스의 일부를 숨기는 처리를 말한다. #02. 적용방법 변수의 이름이나 메서드 이름 앞에 접근 한정자를 지정한다. 1) 멤버변수와 메서드에 대한 적용 예약어 설명 public 이 키워드가 적용된 멤버변수나 메서드는 모든 곳에서 접근 가능하다. 일반적으로 모든 메서드앞에 명시한다. private 클래스 안에서만 사용가능하고, 객체를 통해 접근할 수 없다. 일반적으로 모든 멤버변수앞에 명시한다. protected 현재 클래스 내의 다른 자원이나, 같은 패키지 안에 존재하는 클래스와 하위 클래스에서 접근 가능하다. 잘 사용하지 않는다. default 접근 한..
메서드 메서드 자바프로그램에서 사용하는 최소한의 기능 단위. 쉽게 이야기 하자면, 자주 등장하는 코드를 재사용 하기 위해 그룹화 해놓은 단위. #01. 메서드를 정의하는 규칙 1) 지금까지 작성한 메인 클래스 형식 public class HelloWorld { public static void main(String[] args){ // ... 구현내용... } } 이 단원에서 설명 가능한 부분 void 키워드의 기능 main 대신 다른 이름으로 직접 메서드 정의하기 메서드 이름 옆의 괄호()의 의미. 2) 메서드 이름 규칙 영어, 숫자, 언더바, $ 조합만 사용 가능 첫 글자는 반드시 영어로만 지정 가능 두 개의 단어 이상을 조합할 경우 언더바 사용: hello + world --> hello_world 대문자..
2차배열 2차 배열 열의 개념만 존재하는 1차 배열에 8행의 개념을 추가한 형태 정확한 개념은 1차 배열의 각 원소가 다른 배열로 구성된 형태. #01. 2차 배열 사용하기 1) 배열의 생성 선언 변수 선언시 데이터타입 뒤에 행과 열을 의미하는 대괄호를 각각 명시 int[][] myarr;할당 new 키워드 뒤에 데이터 타입을 명시하고 대괄호 안에 행과 열의 수를 결정해 준다. myarr = new int[2][3]; // 2행3열선언과 할당의 통합 int [][] myarr = new int[2][3];선언, 할당, 값 대입을 일괄 처리하기 int[][] myarr = new int[][] { 1, 2, 3},{ 10, 20, 30 };new int[][]는 생략 가능 int[][] myarr = { {1, 2..
배열 배열 하나의 변수에 같은 종류의 데이터 여러 개를 그룹화 한 형태. 상황 제시 한 학급의 성적표를 보고 각 학생별로 총점과 평균을 구하라. 국어 영어 수학 철수 92 81 76 영희 72 95 84 민혁 80 86 98 3명씩 3과목이므로 9개의 변수가 필요 int kor1 = 92; int kor2 = 72; int kor3 = 80; // ... 생략 ... int math1 = 76; int math2 = 84; int math3 = 98; 30명의 학생에 대한 20과목에 대한 점수라고 가정한다면 프로그램은 좀 더 복잡해지고 더 많은 변수를 소스코드상에 선언,할당 해야 한다. #01. 배열 같은 종류의 데이터를 그룹화 한 형태. 배열의 선언 데이터 타입 뒤에 배열임을 의미하는 []를 명시한다. in..
형변환 형변환 변수의 자료형을 다른 타입으로 변환하는 것으로 정해진 규칙에 따라야 한다. #01. 암묵적 형변환 1) 값의 대입시에 발행하는 형변환 정수의 경우 리터럴의 형변환 소스코드에 단독으로 명시되는 숫자나 문자열, 논리값 등을 리터럴이라고 한다. ex) 1, -100, true, "Hello World" 정수 형태의 리터럴은 기본적으로 int 타입으로 식별된다 byte, short, long 타입의 변수에 리터럴을 대입하는 코드는 컴파일시에 int타입에서 암묵적으로 형변환 된다. 아래의 코드는 모두 int형의 리터럴을 다른 정수타입으로 형변환 처리 한다. byte a = 1; short b = 2; long c = 3; 이미 선언된 변수를 다른 타입에 대입하는 경우 최초로 선언된 변수보다 더 큰 크기의 ..
기본문법활용 기본문법활용 #.01 문법간의 중첩구조 조건문, 반복문을 구성하는 블록 {} 안에 다른 문법 표현이 포함될 수 있다 자주 사용되는 패턴으로는 if-if, if-for, for-if, for-for가 있다. if-if 구조 특정 조건이 참으로 판단되어 블록안에 진입했을 때, 상세조건을 판별하는 구조. if (조건) { if (조건) { ... } else { ... } } else { if (조건) { ... } else { ... } } IfNesting.java public class IfNesting { public static void main(String[] args) { int point = 78; if (point > 70 && point 77) { System.out.println("C+ 입..