본문 바로가기

분류 전체보기194

예외 처리 ( Exception Handling ) 예외 ㅡ 프로그램 실행 중 발생한 오류중에서 처리가 가능한 오류 에러 개발자가 조치를 취할 수 없는 수준 ( 메모리 부족, JVM 문제 ) 컴파일 에러 컴파일 시 발생하는 에러 (오타, 잘못된 자료형) 런타임 에러 프로그램 실행 중 발생하는 에러 로직 에러 실행은 되나 생각한 것관 다르게 작동하는 에러 예외 다른 방식으러 처리 가능한 오류 ( 입력 값 오류, 네트워크 문제 ) 예외 처리 ㅡ 예외 발생 시 미리 대처하는 코드를 작성하여 프로그램이 비정상적으로 종료되는 것을 막음 try-catch-finally try catch : 예외를 처리하기 위한 구문 try문에는 예외가 발생할 수 있는 코드를 작성 / catch문에는 예외가 발생할 경우 처리할 방법을 작성 finally : try catch문에 선택.. 2023. 1. 11.
추상 클래스 ( Abstract Class ) / 인터페이스 ( Interface ) 추상 클래스 ㅡ 클래스를 설계도라고 하면 추상 클래스는 미완성 설계도 ㅡ 추상 클래스는 인스턴스 생성 X, 상속을 통해 하위 클래스에서만 완성 ㅡ 추상 메서드를 포함하는 것 말곤 일반 클래스와 유사함 abstract class 클래스 명 { } ← 이렇게 생성 추상화 : 클래스 간의 공통점을 찾아내서 공통 상위 클래스 만드는 작업 구체화 : 상속을 통해 클래스 구현 [ 확장 ] *추상 클래스를 상속한 클래스는 추상 클래스의 메서드를 작성해줘야 한다. 추상 메서드 ㅡ 선언부만 작성, 구현부는 작성하지 않는다. ㅡ 하위 클래스에서 구현부를 작성한다 abstract class Animal { String arms; String legs; abstract void eat(); // {} 코드 블럭은 적지 않는다.. 2023. 1. 10.
다형성 ( Polymorphism ) 다형성 ㅡ 하나의 객체가 여러 형태를 가지는 것을 의미 ㅡ 부모 클래스의 참조 변수로 자식 클래스의 인스턴스 참조 ㅡ 다형성은 상속, 추상화와 같이 객체지향 프로그래밍의 특징 중 하나 형 변환 [ 서로 상속 관계인 클래스만 ] 자식 타입 → 부모 타입 : 형 변환 생략 가능 부모 타입 → 자식 타입 : 형 변환 생략 불가능 / 명시해줘야 한다. 참조 변수의 타입을 변환하는 것 뿐 인스턴스에는 영향을 미치지 않는다. 형 변환을 통해 인스턴스에서 사용할 수 있는 멤버의 범위를 조절 class Animal { String ears; String eyes; String legs; } class Monkey extends Animal { String arms; Monkey(String arms, String ey.. 2023. 1. 10.
HashMap 알고리즘 풀이 후 다른 사람의 풀이를 보던 중 HashMap을 활용한 방법이 있어서 찾아보았다. HashMap ㅡ Map 인터페이스를 구현(implements)하고 있는 클래스 ㅡ 키(key), 값(value)로 구성 ㅡ Java Collections Framework에 속한 구현체 개념은 간단하게 이 정도에 key에 value를 저장해놓고 데이터를 사용하는 식인 것 같다. 장점으로는 데이터를 저장해 놓고 쓰기에 속도는 매우 빠르다고 한다. ★ key는 고유 속성으로 중복이 불가능 ★ value는 고유 속성이 아니라 중복 가능 HashMap 선언 HashMap 참조 변수명 = new HashMap() // 이외에도 여러 선언 형태가 있긴하다. HashMap hm = new HashMap(); // int.. 2023. 1. 10.
[프로그래머스 / 가장 가까운 같은 글자 / JAVA ] https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 return 값 answer를 문자열 s의 길이 만큼 배열 생성 answer의 첫 문자는 앞에 같은 글자가 있을 수 없으니 -1를 먼저 대입하고 시작했다. answer 배열의 0번 째 요소는 -1을 넣고 시작했으니 1부터 s의 길이보다 작을 때 까지 실행되는 반복문을 만들고 현재 문자값을 담을 변수 check를 선언했다. 이후 내부 반복문에서 j = i - 1로 1씩 감소하면서 현재 .. 2023. 1. 9.
상속 ( Inheritance ) / 오버라이딩 ( Overriding ) 상속 ㅡ 기존 클래스를 재사용하여 새로운 클래스 작성 ㅡ 코드의 재사용성, 유지보수에 효과적 ㅡ 생성자는 상속 X class (자식)클래스명 extends (부모)클래스명 { // ... } 부모 클래스 = 상위(super) 클래스 자식 클래스 = 하위(sub) 클래스 하위 클래스는 상위 클래스의 멤버 변수나 메서드를 기본적으로 사용할 수 있다. → 하위 클래스의 인스턴스를 생성하면 상위 클래스의 멤버 변수 초기화나 메서드 호출이 가능하다. * 자바에선 다중 상속이 안된다. class SmartPhone { String number; void call(String telNumber) { System.out.println(number + " 에서 " + telNumber + " 로 전화합니다."); } }.. 2023. 1. 9.