전체 글

전체 글

    [Java] 예외처리

    📌예외처리 예외란? 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러라고 한다. 에러에는 여러가지 종류가 아니면 컴파일 에러, 런타임 에러, 논리적 에러가 있다. 컴파일 에러: 컴파일 시에 발생하는 에러 런타임 에러: 실행 시에 발생하는 에러 논리적 에러: 실행은 되지만, 의도와 다르게 동작하는 것 그 중 런타임 에러는 에러(error)와 예외(exception) 두 가지로 구분할 수 있다. 에러는 메모리 부족(OutOfMemoryError)이나 스택오버플로우(StackOverflowError)와 같이 일단 발생하면 복구할 수 없는 심각한 오류이고, 예외는 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하..

    [Java] 제어자 ,  abstract ,  interface ,  다형성,  내부 클래스

    [Java] 제어자 , abstract , interface , 다형성, 내부 클래스

    📌제어자 제어자는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 제어자의 종류는 다음과 같다. 접근 제어자 : public, protected, default, private 그 외 : static, final, abstract, native, transient, synchronized, volatile, strictfp 📌접근 제어자 접근 제어자는 클래스의 멤버(변수와 메소드)들의 접근 권한을 지정한다. public : 아무대서나 쓸때 private : 같은클래스 안에서만 쓸때 default : 같은 패키지에서 쓸때 (접근 제어 지시자를 명시하지 않았을 때 자동적으로 패키지 멤버가 된다. default) protected : 같은 패키지내에서, 그리고 다른 패키지의 자손..

    [Java] 상속, overriding, overloading, super, final

    📌상속 상속이란 말 그대로 물려준다는 뜻이다. 상속은 기존에 존재하는 유사한 클래스로부터 속성과 동작을 이어받고 자신이 필요한 기능을 추가하는 기법이다. 이것이 상속에 사용되는 키워드가 extends인 이유이다. 상속되는 클래스를 상위 클래스(super class) (=조상, 부모, 수퍼, 기반 클래스) 상속을 받는 클래스를 하위 클래스(sub class) (=자손, 자식, 서브, 파생된 클래스)라고 한다. 상속은 클래스 정의 다음에 extends를 써주고 수퍼 클래스 이름을 적어주면 된다. ( 하위 클래스 extends 상위 클래스 ) class Calculator { int left, right; public void setOprands(int left, int right) { this.left = ..

    [Java] 생성자

    📌초기화 일반적으로 객체가 생성된 후에 가장 먼저 하는 작업은 객체의 데이터를 초기값으로 설정하는 것이다. Java에서는 생성자라는 개념을 사용하여 객체가 생성될 때마다 초기화 작업을 자동으로 실행한다. 📌생성자 (Constructor) 생성자는 일반 메소드와 아주 흡사하다. 다만 생성자 이름이 클래스 이름과 같고, 반환(return) 값을 가지지 않는다는 점이 다르다. 기본 생성자 (Default 생성자) 만약 클래스 작성시에 생성자를 하나도 만들지 않는 경우에는 자동적으로 메소드의 몸체 부분이 비어 있는 생성자가 만들어진다. 이를 디폴트 생성자라고 한다. 만약 생성자가 하나라도 선언되어 있으면 디폴트 생성자는 자동으로 추가되지 않는다. 즉, 기본 생성자가 컴파일러에 의해서 추가되는 경우는 클래스에 정..

    [Java] 객체와 클래스(멤버 변수/메소드)

    📌객체 지향 프로그래밍(Object-oriented programming: OOP) 실제 세계가 객체(Object)들로 구성되어 있는 것과 비슷하게 소프트웨어도 객체 단위로 작성하는 방법이다. 객체지향언어의 특성 1. 코드의 재사용성이 높다. 2. 코드의 관리가 용이하다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. 기본 구성 요소 클래스(Class) 같은 종류의 집단에 속하는 속성과 행위를 정의한 것으로 객체지향 프로그램의 기본적인 사용자 정의 데이터형이라고 할 수 있다. 클래스는 다른 클래스 또는 외부 요소와 독립적으로 디자인하여야 한다. 같은 종류의 객체들은 모두 하나의 설계도로 만들어지는데 이 설계도를 클래스(class)라 하고 클래스로부터 만들어진 각각의 객체를 그 클래스의 인스턴스(inst..

    [Java] 배열

    📌배열(Array) 배열(Array)은 같은 타입의 여러 변수를 하나로 묶기 위해 사용한다. 배열 생성 방법 선언 방법 선언 예 타입[ ] 변수이름; int [ ] score; String[ ] name; 타입 변수이름[ ]; int score[ ]; String name[ ]; 타입[ ] 변수이름; //배열을 선언 (배열을 다루기 위한 참조변수 선언) 변수이름 = new 타입[ 길이 ]; //배열을 생성 (실제 저장공간을 생성) //위에 두 코드를 합치면 다음과 같다. 타입[ ] 변수이름 = new 타입[길이]; //ex) int[ ] numbers = new int[5]; float[ ] height = new float[5]; char[ ] letters = new char[50]; String[ ..

    [Java] 조건문 & 반복문

    📌조건문 (if) if(조건식1){ //조건식1의 연산결과가 참일 때 수행된다. } else if(조건식2){ //조건식2의 연산결과가 참일 때 수행된다. } else if(조건식3){ // 여러개의 else if를 사용할 수 있다. //조건식3의 연산결과가 참일 때 수행된다. } else{ 위에 어느 조건식도 만족하지 않을 때 수행된다. } 📌조건문 (switch) switch( 조건식 ) { case 값1: //조건식의 결과가 값1과 같을 경우 수행된다. then //break를 안해주면 case 2도 실행된다. case 값2: //조건식의 결과가 값2와 같을 경우 수행된다. then break; case 값3: //조건식의 결과가 값3와 같을 경우 수행된다. then break; default : ..

    [Java] 데이터 타입 & 변수 & 화면에서 입력받기

    📌데이터 타입 데이터 타입(Data Type)이란 자바 언어가 처리할 수 있는 데이터 종류를 의미한다. Java의 데이터 타입은 크게 기본 타입과 참조 타입으로 분류된다. 기본 타입: 계산을 위한 실제 값을 저장 정수형 : byte(8bits 크기), short( 2byte 크기 ), int( 4byte 크기 ) ,long( 8byte 크기 ) ( 기본은 int ) 실수형 : float( 4byte 크기), double( 8byte 크기) ( 기본은 double ) 문자형 : char ( 표시할 때 단일 따옴표 안에 써야한다. ( ex) 'A' ) 논리형 : boolean ( true / false ) (자바에서는 대소문자가 구별되기 때문에 true, false만 된다. ( True는 에러난다.) ) 참..

    [Java] Java의 개념과 동작원리

    [Java] Java의 개념과 동작원리

    📌JAVA의 특징 1. 이식성이 높은 언어이다. (운영체제에 독립적이다.) 기존의 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운영체제에 적용하기 위해서 많은 노력이 필요했지만, 자바에서는 그러지 않아도 된다. 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM(Java Virtual Machine)하고만 통신하고 JVM이 자바 응용 프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.따라서 자바로 작성한 프로그램은 운영체제나 하드웨어 상관없이 실행 가능하다. → (JVM을 통해 변환하므로 자바의 단점으로 속도문제가 거론되었는데 JIT컴파일러와 Hotspot과 같은 신기술의 도입으로 JVM의 기능이 향상되어 속도문제가 개선되었다.) 바이트 코드는 모든 JVM..