본문 바로가기

Java64

Exception(예외처리) 예외처리 Exception Handling자바 프로그래밍에서 예외 처리는 프로그램 실행 중 발생할 수 있는 예상치 못한 상황(예외)을 관리하는 방법이다. 예외 처리를 통해 프로그램의 비정상적인 종료를 막고, 예외 상황을 보다 적절하게 처리하여 프로그램의 안전성과 신뢰성을 높일 수 있다.(스마트폰에서 애플리케이션을 사용할 때 자꾸 강제 종료된다면 사용하려는 이용자가 아무도 없을 것이다.) 예외처리하는 방법■ try catchtry { // 예외가 발생할 수 있는 코드} catch(ExceptionType1 e){ // ExceptionType1 예외를 처리하는 코드} catch(ExceptionType2 e){ // ExceptionType2 예외를 처리하는 코드} ■ try catch finallytry.. 2024. 4. 29.
String, StringBuffer 클래스 String 클래스String 선언하는 두 가지 방법☞ 힙 메모리(heap memory)에 인스턴스로 생성되는 경우 (힙 메모리는 생성될 때마다 다른 주소 값을 가진다.)☞ 상수 풀(constant pool)에 있는 주소를 참조하는 경우 (상수 풀에 문자열은 모두 같은 주소 값을 가진다.)리터럴 방식으로 한 번 생성된 String은 불변(immutable)이다. 그러나 다른 String을 연결하면 기존의 String에 연결되는 것이 아닌 새로운 문자열이 생성된다. (StringBuffer는 객체 하나를 생성해서 그걸 수정해서 사용한다. String처럼 계속 생성하는 것이 아니다.)String str1 = "Hello"; // constant poolString str2 = new String("Hello.. 2024. 4. 29.
Object 클래스 Object 클래스  Object 클래스는 모든 클래스의 최상위 클래스이다. 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있다. 자바에서는 단일 상속만을 지원한다고 하였는데 Object 클래스를 제외한 단 하나의 상속만 받을 수 있다. ☞ Object 클래스는 java.lang 패키지 안에 존재한다.☞ import java.lang.*; 프로그래밍시 import 하지 않아도 자동으로 된다.☞ 많이 사용하는 기본 클래스들이 속한 패키지이며 String, lnteger, System... 등이 존재한다. +) toString(), equals(), hashcode() 같은 메서드들이 존재한다. clone()은 조사할 때 사용하는데, 얕은 복사는 주소값.. 2024. 4. 29.
Interface (인터페이스) 인터페이스★모든 메서드가 추상 메서드로 선언된다. public abstract (생략하고 '리턴타입 + 메서드 이름'만 적어도 된다.)★ 모든 변수는 상수로 선언된다. public static final(인터페이스는 기능 중심이다. 역할과 구현.) +) getter, setter를 지원하지는 않는다.인터페이스 특징☞ 추상 메서드 : 인터페이스는 추상 메서드(구현부가 없는 메서드)만을 가질 수 있다. 자바 8버전부터 default 메서드와 static 메서드를 가질 수 있게 되었다.  ☞ 다중 상속 : 클래스는 여러 인터페이스를 구현할 수 있으므로 다중 상속 효과를 낼 수 있다. ☞ 구현 : 클래스가 인터페이스를 구현할 때는 implements 키워드를 사용한다. (상속은 extends 로 받는 것처럼.).. 2024. 4. 26.
Abstract class (추상 클래스) 추상 클래스  추상 클래스는 하나 이상의 추상 메서드를 포함하고 있는 클래스이다. 추상 메서드는 구현이 없는(구현부{ }가 없는) 메서드이며, 추상 클래스 내에서는 이러한 추상 메서드의 정의만을 포함하고 있습니다. 추상 클래스는 직접적으로 객체를 생성할 수 없으며, 다른 클래스에서 상속받아 구현되어야 한다.int add(int x, int y); //  추상 클래스 시나리오 코드/** * 추상 클래스란? * 추상 메서드를 포함하고 있거나 * abstract 키워드를 가지고 있는 클래스를 말한다. * 추상 클래스는 바로 new 키워드로 객체를 생성할 수 없다. */ public abstract class Animal { String name; public void move() { System.. 2024. 4. 26.
Polymorphism(다형성) & Upcasting+Downcasting 다형성 Polymorphism  다형성은 데이터타입 하나를 다양한 형태로 바라볼 수 있는 것을 말한다.   다형성은 객체 지향 프로그래밍에서 중요한 개념 중 하나이다. 이는 한 요소(예: 메서드, 클래스)가 여러 형태를 가질 수 있는 능력을 의미합니다. 다형성은 코드의 유연성과 재사용성을 높여주며, 상속, 추상화, 인터페이스와 함께 사용됩니다.업캐스팅 Upcasting 업캐스팅은 부모 클래스의 참조 변수로 자식 클래스의 객체를 참조하는 것을 말한다.부모 클래스의 데이터 타입으로 자식 클래스의 객체를 대입하는 것을 의미합니다.업캐스팅은 자동으로 이루어집니다.(자동 형 변환 생각해보기) 다운캐스팅 Downcasting다운캐스팅은 부모 클래스의 참조 변수를 자식 클래스의 객체로 변환하는 것을 말한다.다운캐스팅.. 2024. 4. 26.