Java Exception
📘 Backend/Java2023. 4. 1. 11:36Java Exception

📘 Exception 프로그램의 비정상 종료 방지, 정상 실행상태 유지 모든 Exception의 최고 상위 클래스는 Exception 이며 일반예외와 실행예외로 나뉨 try - catch문 기본 형식 try { // 예외가 발생할 가능성이 있는 코드를 삽입 } catch (ExceptionType1 e1) { // ExceptionType1 유형의 예외 발생 시 실행할 코드 } catch (ExceptionType2 e2) { // ExceptionType2 유형의 예외 발생 시 실행할 코드 } finally { // finally 블럭은 옵셔널 // 예외 발생 여부와 상관없이 항상 실행 } 예시 public class RuntimeExceptionTest { public static void main(..

Java Generic & Wildcard & Wrapper
📘 Backend/Java2023. 4. 1. 11:23Java Generic & Wildcard & Wrapper

📘 Generic 타입을 추후에 지정할 수 있도록 일반화 해두는 것 예시 제네릭을 사용하지 않았을때 작성한 비효율적인 코드 class Basket { private String item; Basket(String item) { this.item = item; } public String getItem() { return item; } public void setItem(String item) { this.item = item; } } class BasketString { private String item; ... } class BasketInteger { private int item; ... } class BasketChar { private char item; ... } class BasketDou..

Java Enum
📘 Backend/Java2023. 4. 1. 11:20Java Enum

📘 Enum (열거형) 서로 연관된 상수들의 집합 (상수 = final 키워드를 통한 변하지 않는 값 선언) 상수명은 대문자로 하는것이 관례 상수 하나하나는 객체로 간주함 따로 값을 지정해주지 않으면 0부터 시작하는 int형 값 자동할당 기본 형식 enum 열거형이름 {상수명1, 상수명2 ...} enum Seasons {SPRING, SUMMER, FALL, WINTER} JDK1.5 이전버전에서는 Enum을 지원하지 않아 아래와 같은 전역변수를 상수로 선언하는 방식을 사용했다. public static final int SPRING = 1; public static final int SUMMER = 2; public static final int FALL = 3; public static final ..

Java 객체 지향 프로그래밍 - 2
📘 Backend/Java2023. 4. 1. 11:14Java 객체 지향 프로그래밍 - 2

📘 다형성 한 타입의 참조변수를 통해 여러타입의 객체를 참조할 수 있도록 만든 것 상위 클래스 타입의 참조변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용한 것 ex) Friend girlfriend = new GirlFriend(); 객체 타입과 참조변수 타입 불일치 //참조변수의 다형성 예시 class Friend { public void friendInfo() { System.out.println("나는 당신의 친구입니다."); } } class BoyFriend extends Friend { public void friendInfo() { System.out.println("나는 당신의 남자친구입니다."); } } class GirlFriend extends Friend { public ..

Java 객체 지향 프로그래밍 - 1
📘 Backend/Java2023. 4. 1. 10:41Java 객체 지향 프로그래밍 - 1

📘 상속 (extends 키워드) 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소 코드의 중복 제거 상위클래스의 속성인 name,age / 기능인 learn,wlak,eat 를 상속받은 하위클래스들 클래스 상속 예시 class Person { String name; int age; void learn(){ System.out.println("공부를 합니다."); }; void walk(){ System.out.println("걷습니다."); }; void eat(){ System.out.println("밥을 먹습니다."); }; } class Programmer extends Person { // Person 클래스로부터 상속. extends 키워드 사용 String companyN..

Java This & Inner Class
📘 Backend/Java2023. 4. 1. 10:31Java This & Inner Class

📘 This vs This() this 인스턴스 자기 자신을 가리킴 참조변수를 통해 인스턴스의 멤버에 접근하는것처럼 this를통해 인스턴스 자신의 변수에 접근 가능함 인스턴스의 필드명과 지역변수를 구분하기 위한 용도 Car(String model, String color, boolead inConvertible) { this.model = mode; } this() 같은 클래스안에서 메소드끼리 서로 호출이 가능한것처럼, 생성자도 상호호출이 가능하며, 이를 위해 this() 를 사용함 반드시 첫 줄에 정의되어야함 즉, this()는 자신이 속한 클래스에서 다른 생성자를 호출 하는경우에 사용 예를 들면, 클래스명이 Car라면 클래스의 생성자를 호출하는것은 this()이며, 그 효과는 Car()과 같다 thi..

Java Constructor
📘 Backend/Java2023. 3. 31. 15:01Java Constructor

📘 생성자 인스턴스 생성시 호출되는 인스턴스 변수 초기화 메서드 이름은 반드시 클래스의 이름과 동일해야함 생성자 = 메소드 호출되는 시점 = 인스턴스 생성 시 목적 = 인스턴스 변수 초기화 리턴 타입이 아예 없음 (void와는 다른 동작방식) 오버로딩 가능 기본 형식 클래스명(매개변수) { // 생성자 기본 구조 , 매개변수는 있을수도,없을수도 있음 ... } 기본 생성자 vs 매개변수가 있는 생성자 모든 클래스에는 반드시 하나 이상의 생성자가 존재해야함 기본생성자 매개변수가 없는 생성자를 의미한다 ex) 클래스명(){} // 기본생성자 DefaultConst(){} // 예시) DefaultConst 클래스의 기본생성자 매개변수가 있는 생성자 메소드처럼 매개변수 호출 시 해당 값을 받아 인스턴스를 초기..

image