자바 31

API – java.util 패키지

* java.util 패키지 - java.util 패키지는 자바 프로그램 개발에 보조 역할을 하는 클래스들을 담고 있습니다. 주로 컬렉 션 관련 클래스들을 담고 있습니다. - java.util 패키지 주요 클래스 1. Arrays: 배열을 조작할 때 사용. 2. Date: 날짜와 시간 정보를 저장하는 클래스 3. Calendar: 운영체제의 날짜와 시간을 얻을 때 사용 4. Random: 난수를 얻을 때 사용  Arrays클래스 * Arrays 클래스 - Arrays 클래스는 배열 조작 기능을 가지고 있습니다. 배열의 복사, 항목 정렬, 항목 검색과 같은 기능 을 말합니다. - Arrays 클래스의 모든 메서드는 정적 메서드이므로 클래스이름으로 바로 사용이 가능합니다. * Arrays 클래스 주요 메서드..

자바 2024.05.01

API – java.lang패키지

API – java.lang패키지API – java.lang패키지 * JAVA API(Application Programming Interface) - API는 라이브러리라고 부르며 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말합니다. - 자바 표준 API 문서 주소: https://docs.oracle.com/javase/8/docs/api* java.lang 패키지 - java.lang 패키지는 자바 프로그램의 기본적인 클래스들을 담고 있는 패키지입니다.  - 그렇기 때문에 java.lang 패키지에 있는 클래스와 인터페이스는 import 구문 없이 사용할 수 있습니다. - java.lang 패키지 주요 클래스 1. Object: 자바 클래스의 최상위 클래스 2. System: 표준..

자바 2024.05.01

예외 처리

예외란?예외에는 컴파일러 체크 예외와 실행 예외(Runtime Exception)가 있습니다. - 컴파일러 체크 예외는 자바 소스를 컴파일하는 과정에서 예외 처리 코드를 검사하여 예외 처리 코드가 없다면 컴파일 오류가 발생합니다. - 실행 예외는 컴파일하는 과정에서 예외처리 코드를 검사하지 않는 예외를 말합니다 예외처리 - 에러에 대한 처리를 의미한다. - 자바는 예외처리 메커니즘을 제공한다. - 프로그램에서 문제가 될만한 부분을 예상하여 사전에 "문제가 발생하면 이렇게 처리하라" 라고 프로그래밍 하는 것을 예외 처리라고 합니다예외가 발생하면 문제가 발생한 곳에 대한 정보 출력과 프로그램이 종료된다. 대표적인 실행 예외의 종류주요 실행 예외 - 1. NullPointerException - 객체 참조가 ..

자바 2024.05.01

인터페이스

상수, 추상메서드만 가지고 있는 인터페이스 인터페이스 선언된 변수는 public static final을 생략하더라도 컴파일 과정에서 자동으로 붙게 됩니다. (상수) - 인터페이스의 메서드를 추상메서드 형식으로 선언하면 abstract를 붙이지 않더라도 자동으로 컴파일 과정에서 붙게 됩니다. (추상메서드) - 추가적으로 static메서드의 선언 또한 가능 합니다. (자바 1.8버전 이후) 인터페이스 왜 생겼을까?인터페이스 왜 생겼을까?  인터페이스 기본 예제인터페이스의 기능1 (다중 상속을 지원한다) 인터페이스 기능2 (메서드 명세서)  인터페이스 기능3 다중 상속 예제 interface간에도 상속이 가능하다 interface간에 상속은 extends를 이용한다 인터페이스 정리- 인터페이스는 상수와 추상..

자바 2024.05.01

final

금지의 규제 final 키워드 final (변경 금지의 규제) - final 키워드는 클래스, 메서드, 변수에 적용되며 abstract와 동시에 사용될 수 없습니다. - final 클래스의 경우에는 상속이 안됩니다. 즉 서브클래스를 가질 수 없습니다. - final 메서드는 재정의를 할 수 없습니다. - final 변수는 값을 변경할 수 없습니다. final클래스 – final메서드final class - 클래스 선언 시 final을 사용하면 그 클래스는 상속이 불가능해집니다. - final 클래스는 자식 클래스를 가질 수 없고, 오직 외부에서 객체 생성을 통해서만 사용할 수 있습니다. - final 클래스의 대표적인 예가 String 클래스입니다. 사용자가 임의로 String 클래스를 상속받아 메서드를..

자바 2024.05.01

정적 제한자 static

static의 전반적인 내용 사용 제한자(Usage Level modifier) * static - static 제한자는 변수, 메서드에 적용되는 자바의 키워드입니다. - static 메서드나 변수는 해당 클래스의 객체 없이도 참조할 수 있습니다. - static 블록(static 메서드, 정적 초기화자) 안에는 static 변수만 사용해야하고, static 메서 드만 호출할 수 있습니다. 즉 static 블록에서 non-static 멤버를 객체 생성 없이 직접 참조할 수 없습니다. - static 제한자는 지정된 변수와 메서드를 객체와 무관하게 만들어주기 때문에 this를 가질 수 없습니다. - static 메서드는 non-static 메서드로 재정의(Overriding) 될 수 없습니다. - 대표적인..

자바 2024.05.01

다형성

다형성(Polymorphism) - 다형성이란 "객체가 여러 형태를 가진다"라는 의미로 해석되며, 하나의 객체가 여러가지 유형으로 사용되는 것을 의미합니다. - 다형성은 상속을 전제조건으로 합니다. - 다형성을 위해 자바는 자식클래스가 부모클래스의 타입을 가질 수 있도록 허용합니다. 즉, 부모 타 입에 모든 자식객체가 대입될 수 있습니다. 부모클래스 변수 = new 자식클래스() 이때. 부모클래스에 있는 기능만 사용할 수 있지만, 오버라이딩 된 메서드는 먼저 실행됩니다 다형성 basicStudent, Teacher, Employee(자식클래스) 로 생성해서 Person(부모) 타입에 저장 할 수 있다 이 때, 부모에 있는 메서드만 실행가능 하며 overriding메서드는 우선 실행된다 클래스 Castin..

자바 2024.05.01

접근 제한자

접근 제한자란?접근 제한자(Access Modifier) - 접근 제한자는 클래스와 멤버변수, 메서드, 생성자의 접근을 제어할 수 있는 제한자입니다. - 라이브러리 클래스를 설계할 때는 외부 클래스에서 접근할 수 있는 멤버와 접근할 수 없는 멤버로 구분 해서 변수, 생성자, 메서드를 설계하는 것이 바람직합니다. - 외부에서 객체 생성을 막기 위해 생성자를 호출하지 못하게 하거나 객체의 특정 데이터를 보호하기 위 해 해당 멤버변수에 접근하지 못하도록 막는 것이 접근 제한자의 역할입니다. - 클래스에는 접근 제한자를 public과 default만 붙일 수 있습니다. 접근 제한자의 종류접근 제한자의 종류 1. public: 같은 클래스, 같은 패키지, 다른 패키지를 막론하고 접근이 가능. 2. protecte..

자바 2024.05.01

this와 super

매개변수가 멤버변수를 가린다 this - this는 자기 자신 객체를 지정할 때 사용하는 키워드입니다. - this. 을 사용하면 동일 클래스 내의 멤버(멤버변수, 메서드)를 참조할 수 있습니다. - this()를 사용하면 생성자 내부에서 자신의 다른 생성자를 호출할 수 있습니다. public class Person { String name; int age; Person(String name, int age) { name = name; age = age; } } 같은 이름의 매개변수가 멤버변수의 사용을가린다 이 때 나 자신의 멤버로 지칭하는 키워드가 this이다 this 예제 super- super는 한단계 위 부모클래스의 객체를 지정할 때 사용하는 키워드입니다. - super. 을 사용하면 부모클래스의..

자바 2024.05.01

메서드 재정의(Overriding)

메서드 재정의(Overriding) 란? 메서드 재정의(Overriding) - 메서드 재정의란 부모클래스로부터 상속받은 메서드를 자식클래스에서 행위를 바꾸거나 보완하기 위해 다시 정의해서 사용하는 것을 말합니다. - 이는 부모클래스에서 특별한 용도로 사용하던 메서드를 자식클래스에서 다른 용도로 사용할 때 필요합니다. - 부모클래스의 모든 메서드가 자식클래스에 맞게 설계되어 있다면 가장 이상적 인상속이지만, 특정 메서드는 자식 클래스가 사용하기에 적합하지 않을 수도 있 습니다. - 이 경우 상속된 일부 메서드는 자식클래스에서 재정의하여 사용해야 합니다. - 메서드가 자식클래스에서 재정의되었다면 자식객체를 통해 메서드를 호출했을 때 새롭게 재정의된 메서드가 호출됩니다. 메서드 재정의 예제 (규칙) - 메서..

자바 2024.04.30