본문 바로가기

프로그램 이론/JAVA

(16)
[JAVA]lang패키지 1. Object클래스 1.1. Object클래스의 메서드 - 모든 클래스의 최고 조상. 오직 11개의 메서드만을 가지고 있다. - notify(), wait() 등은 쓰레드와 관련된 메서드이다. - equals(), hachCode(), toString()은 적절히 오버라이딩해야 한다. 1.2. equals(Object obj) - 객체자신과 주어진 객체를 비교한다. 같으면 true, 다르면 false - Object클래스에 정의된 equals()는 참조변수 값을 비교한다. - equals()를 오버라이딩해서 인스턴스변스의 값을 비교하도록 바꾼다. 1.3. hashCode() - 갹체의 해시코드(int타입의 정수)를 반환하는 메서드 다량의 데이터를 저장&검색하는 해싱기법에 사용 - Object클래스의 ..
[JAVA]예외처리 1. 예외처리 1.1. 프로그램 오류 - 컴파일러 에러와 런타임 에러 - 컴파일 에러 : 컴파일할 때 발생하는 에러 - 런타임 에러 : 실행할 때 발생하는 에러 - Java의 런타임 에러 : 에러와 예외 1.2. 예외처리의 정의와 목적 - 에러는 어쩔 수 없지만, 예외는 처리해야한다. - 예외처리의 정의와 목적 1.3. 예외처리구문 - try-catch - 예외를 처리하려면 try-catch문을 사용해야 한다. 1.4. try-catch문에서의 흐름 1.5. 예외 발생시키기 1.6. 예외 클래스의 계층구조 - 예외 클래스는 크게 두 그룹으로 나뉜다. 1.7. 예외의 발생과 catch블럭 - try블럭에서 예외가 발생하면 발생한 예외를 처리할 catch블럭을 찾는다. - 첫번째 catch블럭부터 순서대로 ..
[JAVA]객체지향언어의 개넘 - 2 1. 상속 1.1. 상속의 정의와 장점 - 상속이란? - 기존의 클래스를 재사용해서 새로운 클래스를 작성하는 것 - 두 클래스를 조상과 자손으로 관계를 맺어주는 것 - 자손은 조상의 모든 멤버를 상속받는다.(생성자, 초기화블럭 제외) - 자손의 멤버개수는 조상보다 적을 수 없다.(같거나 많다.) 1.2. 클래스간의 관계 - 상속관계 - 공통부분은 조상에서 관리하고 개별부분은 자손에서 관리한다. - 조상의 변경은 자손에 영향을 미치지만, 자손의 변경은 조상에 아무런 영향을 미치지 않는다. 1.2. 클래스간의 관계 - 포함관계 - 포함이란? - 한 클래스의 멤버변수로 다른 클래스를 선언하는 것 - 작은 단위의 클래스를 먼저 만들고, 이 들을 조합해서 하나의 커다란 클래스를 만든다. 1.3. 클래스간의 관계결..
[JAVA]객체지향언어의 개념 - 1 1.1. 객체지향언어의 역사 - 과학, 군사적 모의실험을 위해 컴퓨터를 이용한 가상세계를 구현하려는 노력으로부터 객체지향이론이 시작됨 - 1960년대 최초의 객체지향언어 Simula탄생 - 1980년댜 절차방식의 프로그래밍의 한계를 객체지향방식으로 극복하려고 노력함 - 1995년 말 Java탄생. 객체지향언어가 프로그래밍 언어의 주류가 됨 1.2. 객체지향언어의 특징 - 기존의 프로그래밍언어와 크게 다르지 않다. - 기존의 프로그래밍 언어에 몇가지 규칙을 추가한 것일 뿐이다. - 코드의 재사용성이 높다. - 새로운 코드를 작성할 때 기존의 코드를 이용해서 쉽게 작성할 수 있다. - 코드의 관리가 쉬워졌다. - 코드간의 관계를 맺어줌으로써 보다 적은 노력으로 코드변경이 가능하다. - 신뢰성이 높은 프로그램..
[JAVA]배열(Array) 1.1. 배열(array)이란? - 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 - 많은 양의 값(데이터)을 다룰 때 유용하다. - 배열의 각 요소는 서로 연속적이다.1.2. 배열의 선언과 생성 - 1 - 타입 또는 변수이름 뒤에 대괄호[]를 붙여서 배열을 선언한다.1.2. 배열의 선언과 생성 - 2 - 배열을 선언한다고 해서 값을 저장할 공간이 생성되는 것이 아니라 배열을 다루는데 필요한 변수가 생성1.3. 배열의 초기화 - 생성된 배열에 처음으로 값을 저장하는 것1.4. 배열의 활용 - 배열에 값을 저장하고 읽어오기 - 배열이름.length는 배열의 크기를 알려준다.1.5. 다차원 배열의 선언과 생성 - 대괄호[]의 개수가 차원의 수를 의미한다.1.6. 가변배열 - 다차원 배열에서 마지막 차수..
[JAVA]조건문과 반복문 1-1. 조건문 - if, switch - 조건문은 조건식과 실행될 하나의 문장 또는 블럭{}으로 구성 - Java에서 조건문은 if문과 switch문 두 가지 뿐이다. - if문이 주로 사용되며, 경우의 수가 많은 경우 switch문을 사용할 것을 고려한다. - 모든 switch문은 if문으로 변경이 가능하지만, if문은 switch문으로 변경할 수 없는 경우가 많다.1-2. if문 - if문은 if, if-else, if-else if의 세가지 형태가 있다. - 조건식의 결과는 반드시 true 또는 false이어야 한다.1-2. 중첩 if문 - if문 안에 또 다른 if문을 중첩해서 넣을 수 있다. - if뮨의 중첩횟수에는 거의 제한이 없다.1.3. switch 문 - if문의 조건식과 달리, 조건의..
[JAVA]연산자(Operator) 1. 연산자(Operator) - 연산자 : 어떠한 기능을 수행하는 기호(+,-,*,/등) - 피연산자 : 연산자의 작업 대상(변수,상수,리터럴,수식) 2. 연산자의 종류 3. 연산자의 우선순위 - 괄호의 우선순위가 제일 높다. - 산술 > 비교 > 논리 > 대입 - 단항 > 이항 > 삼항 - 연산자의 연산 진행방향은 왼쪽에서 오른쪽(→)이다. 단, 단항, 대입 연산자만 오른쪽에서 왼쪽(←)이다.4. 증감연산자 ++, -- - 증가연산자(++) : 피연산자의 값을 1증가한다. - 감소연산자(--) : 피연산자의 값을 1감소한다.5. 부호연산자(+,-)와 논리부정연산자(!) - 부호연산자(+,-) : '+'는 피연산자에 1을 곱하고 '-'는 피연산자에 -1을 곱한다. - 논리부정연산자(!) : true는 ..
[JAVA] 변수(Variable) 1. 변수(Variable)란? - 변수는 변하는 수이면서 하나의 값을 저장할 수 있는 기억공간이다.2. 변수의 타입(Data Type) - 기본형(Primitive Type) - 8개(boolean, char, byte, short, int, long, float, double) - 실제 값을 저장 - 논리형 - true와 false 중 하나를 값으로 갖으며, 조건식과 논리적 계산에 사용된다. - 문자형 - 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있다. - 정수형 - 정수 값을 저장하는데 사용된다. 주로 사용하는 것은 int와 long이며, byte는 이진데이터를 다루는데 사용되며, short은 c언어와의 호환을 위해 추가되었다. - 실수형 - 실수 값을 저장하는데 사용된다. ..