[Java] Wrapper(포장) 클래스
2022. 1. 30. 02:12
IT/Java
포장 객체 - 기본 타입의 값을 내부에 두고 포장. - 포장하고 있는 기본 타입 값은 외부에서 변경할 수 없다. - byte, char, short, int, long, float, double, boolean 기본 타입 값을 갖는 객체이다. Boxing과 Unboxing - Boxing(박싱) : 기본 타입의 값을 포장 객체로 만드는 과정 - Unboxing(언박싱) : 포장 객체에서 기본 타입의 값을 얻어내는 과정 Boxing(박싱) ex) Byte obj = new Byte(10); Byte obj = new Byte("10"); 생성자의 매개 값으로 기본 타입의 값을 주느냐 아니면 문자열을 주느냐에 따라 차이가 발생한다. 기본 타입의 경우는 값을 박싱한 Wrapper 객체가 만들어진다. 생성자의 ..
[Java] 예외 처리
2022. 1. 26. 15:54
IT/Java
예외 처리 코드 - 자바 컴파일러는 일반 예외를 발생시키는 코드를 발견할 경우 예외 처리 코드를 강제로 요구함. - 실행 예외는 컴파일러가 체크하지 않으므로 경험을 통해 예외 처리코드를 작성하여야 함. try-catch-finally 블록 - 생성자 및 메소드 내부에서 작성되어 일반예외와 실행예외가 발생할 경우 예외 처리를 가능하게 함. try{ 예외 발생가능 코드 } catch(예외클래스 e) { 예외 처리 } finally { 항상 실행; } 다중 catch - 발생하는 예외별로 예외 처리 코드를 다르게 하는 다중 catch 블록을 가질 수 있음 - 여러개의 catch 블록을 사용할 때 Exception 클래스의 계층 관계에 주의해야함. throws 키워드 - 메소드에서 처리하지 않은 예외를 호출한 ..
[Java] 예외클래스
2022. 1. 26. 12:33
IT/Java
예외(Exception) - 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류 - 예외 처리 프로그램을 통해 정상 실행상태를 유지가능 - 예외 발생 가능성이 높은 코드를 컴파일할 때 컴파일러는 예외처리 유무를 확인 예외는 두가지 종류가 있다. 1. 일반 예외 - 컴파일러 체크 예외 - 자바 소스 컴파일 과정에서 해당 예외 처리 코드가 있는지 검사 - 예외의 상속관계 2. 실행 예외 (runtime exception) - 컴파일러 체크 예외 - 실행 시 예측할 수 없이 갑자기 발생하기에 컴파일 과정에서 예외처리코드 검사하지 않음. - 실행 예외는 개발자의 경험에 의해서 예외 처리 코드를 작성해야 함. 실행 예외 종류 1. NullPointerException - 가장 빈번하게..
[Java] 상속, 오버라이딩, final 키워드
2022. 1. 21. 17:24
IT/Java
상속 - 이미 개발된 클래스를 재사용하여 새로운 클래스를 만들때 중복되는 코드를 줄일 수 있다. - 부모클래스의 한번의 수정으로 모든 자식 클래스까지 수정되는 효과가 있어 유지보수 시간이 줄어든다. 클래스 상속 -자식 클래스 선언 시 부모 클래스 선택 -extends 뒤에 부모 클래스 기술 class 자식클래스 extends 부모클래스{ //필드 //생성자 //메소드 } 여러개의 부모 클래스 상속할 수 없음 부모 클래스에서 private 접근 제한 갖는 필드와 메소드는 상속 대상에서 제외 부모와 자식 클래스가 다른 패키지에 존재할 경우 default 접근 제한된 필드와 메소드 역시 제외 메소드 재정의(오버라이딩/ Overriding) 부모클래스의 메소드가 자식 클래스에서 사용하기에 부적합할 경우 자식클래..

[Java] 필드선언, 필드 사용
2022. 1. 17. 21:43
IT/Java
필드(field) - 객체의 고유 데이터, 객체가 가져야 할 부품, 객체의 현재 상태 데이터 등을 저장 필드 선언 - 클래스 중괄호 블록 어디서든 존재 가능 - 생성자와 메소드 중괄호 블록 내부에는 선언이 불가능 하다. - 변수와 선언 형태 유사하나 변수 아님에 주의해야한다. class XXX{ String Company = "자동차"; Stirng model = "그랜저"; int maxSpeed = 300; int productionYear; int currentSpeed; boolean engineStart; } 필드 사용 - 필드값 읽고 변경하는 작업 - 클래스 내부 생성자 및 메소드에서 사용하는 경우 : 필드 이름으로 읽고 변경 - 클래스 외부에서 사용하는 경우 : 클래스로부터 객체 생성한 뒤 ..

[Java] 객체 지향 프로그래밍
2022. 1. 17. 15:55
IT/Java
객체 지향 프로그래밍 이란? 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. ※장점 1. 코드 재사용이 용이하다. 2. 유지보수가 쉽다. 3. 대형프로젝트에 적합하다. ※단점 1. 처리 속도가 상대적으로 느리다. 2. 많은 시간과 노력이 필요하다. 객체(Obeject) - 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지며 식별 가능한 것 - 속성(필드(field)) + 동작(메소드(method))로 구성 객체간의 관계 ● 집합관계 - 부품과 완성품의 관계 ● 사용관계 - 객체 간의 상호작용 ● 상속관계 - 상위(부모)객체를 기반으로 하위(자식) 객체를 생성 객체와 클래스..

[Java] 변수와 타입, 선언, 저장, 변수값 교환
2022. 1. 13. 16:47
IT/Java
변수(Variable) ▶ 값을 저장할 수 있는 메모리의 특정 번지에 붙여진 이름 ▶ 변수 통해 해당 메모리 번지에 하나의 값 저장하고 읽을 수 있음 ▶ 변수는 정수, 실수 등 다양한 타입의 값을 저장할 수 있음 1. 변수선언 변수 사용을 위해서는 변수 선언이 필요함. - 변수에 어떤 타입의 데이터를 저장할 것인지, 변수 이름은 무엇인지 결정합니다. ex) int age; // 정수(int)를 저장할 수 있는 age 변수 선언 double value; // 실수(double)를 저장할 수 있는 value 변수 선언 2. 값 저장 값을 저장할 경우 대입연산자(=)을 사용 변수를 선언하고 대입연산자를 사용해 오른쪽의 값을 왼쪽 변수에 저장 변수초기화 : 변수에 최초로 값이 저장될 때 메모리에 변수가 생성되고..

[Java] JDK 환경 변수 설정
2022. 1. 12. 17:26
IT/Java
JAVA_HOME 환경변수 등록 1. 제어판 -> 시스템 및 보안 -> 시스템 -> 고급 시스템 설정에서 환경변수를 클릭합니다. 2. [환경 변수] 대화상자가 나타나면 [시스템 변수]에서 [ 새로 만들기] 버튼을 클릭합니다. 3. [새 시스템 변수] 대화상자가 나타나면 [변수 이름]에 'JAVA_HOME'을 입력하고. [변수 값]에 JDK가 설치된 경로를 입력합니다. 완료되면 확인을 누르시면 됩니다. Path 환경 변수 수정 1. [환경 변수] 대화상자의 [시스템 변수]에서 Path 환경 변수를 선택하고 [편집] 버튼을 클릭합니다. 2. [환경 변수 편집] 대화상자가 나타나면 [새로 만들기] 버튼을 클릭하고 추가된 항목에 직접 '% JAVA_HOME%\bin'을 입력합니다. 그리고 해당 항목을 위로 이동..