Programming/Java 7

컬렉션

[KT] AIVLE SCHOOL 26일차 자료구조정의와 종류프로그램 작성 시 여러 데이터가 필요함예를 들어 100개의 동일한 데이터가 있을 경우 각각의 데이터를 변수에 할당한다면 100개의 변수가 필요함이런 경우 하나의 데이터 타입으로 여러 데이터를 처리하기 위해 만들어진 개념대표적인 자료구조 형태로는 Array, List, Map이 있음배열(Array)전통적으로 기본이 되는 자료구조데이터를 순차적으로 저장해 0부터 시작하는 인덱스를 통해 접근순차적으로 사용하는 단순한 문자나 숫자 등으로 이루어진 집합형 데이터 처리 사용시 유용자바에서 배열은 기본적인 자료형이지만 구조에 따른 제약과 사용의 불편함 등으로 List를 많이 사용Integer[] array = new Integer[] {1, 2, 3};배열(..

Programming/Java 2025.04.30

예외(Exception)

[KT] AIVLE SCHOOL 26일차 예외(Exception)사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류예외 처리 프로그램을 통해 정상 실행상태 유지 가능예외 발생 가능성이 높은 코드 컴파일할 때 예외 처리 유무 확인일반 예외 (Checked Exception)컴파일러 체크 예외자바 소스 컴파일 과정에서 해당 예외 처리 코드 있는지 검사하게 됨예외 클래스IOException : 입력 및 출력 작업 실패 또는 인터럽트 시 발생하는 예외FileNotFoundException : 파일이 없을 때 발생하는 예외ParseException : 문자열을 파싱하는 도중 문제가 발생했을 때 발생하는 예외ClassNotFoundException : 요청한 클래스를 찾을 수 없을 때 ..

Programming/Java 2025.04.30

제네릭

[KT] AIVLE SCHOOL 26일 제네릭(Generics)정의와 종류클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법데이터 타입(Data Type)을 일반화(Generalize)하는 것을 의미클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시 미리 저장하는 방법제네릭 사용시에 클래스나 메소드 내부에 사용되는 객체의 타입 안정성 향상반환 값에 대한 타입 변환 및 타입 검사에 들어가는 비용 절감사용 방법public class 클래스명 {...}public interfce 인터페이스명 {...}제네릭 타입은 타입을 파라미터로 가지는 클래스와 인터페이스제네릭 타입은 클래스 또는 인터페이스 이름 뒤에 부호가 붙고 사이에 타입 파라미터가 위치자주 쓰는 타입T : 타입(Type)을 나타냄. 일..

Programming/Java 2025.04.30

추상화

[KT] AIVLE SCHOOL 26일차 추상 클래스추상 메서드메서드 본체를 완성하지 못한 메서드, 무엇을 할지는 선언할 수 있지만 어떻게 할지는 정의할 수 없음추상 클래스보통 하나 이상의 추상 메서드를 포함하지만 없을 수도 있음주로 상속 계층에서 자식 멤버의 이름을 통일하기 위해 사용선언abstract class 클래스 이름 { }인터페이스자바에서 인터페이스란 클래스가 구현해야 할 메서드들의 집합객체 간의 통신을 위한 계약(Contract)을 정의함인터페이스에 의한 장점인터페이스만 준수하면 통합에 신경 쓰지 않고 다양한 형태로 새로운 클래스를 개발할 수 있음클래스의 다중 상속을 지원하지 않지만 인터페이스로 다중 상속 효과를 간접적으로 얻을 수 있음인터페이스 vs 추상 클래스분류인터페이스추상 클래스구현 ..

Programming/Java 2025.04.30

상속

[KT] AIVLE SCHOOL 25일차 상속자식 클래스는 부모 클래스에서 물려받은 멤버를 그대로 사용하거나 변경할 수 있고 새로운 멤버도 추가 가능따라서 자식 클래스는 대체로 부모 클래스보다 속성이나 동작이 더 많음상속은 is-a 관계is-a (상속관계)원은 도형이다.사과는 과일이다.Tandem은 Bike다.has-a (소유관계)자동차는 엔진이 있다.스마트폰은 카메라가 있다.컴퓨터는 마우스가 있다.extends 키워드를 사용하며 다중상속은 안됨객체 지향의 상속을 적용할 수 있는 현실 세계의 예시Animal : Eagle, Tiger, GoldfishBike : MountainBike, RoadBike, TandemBikeCircle : Ball, Cone, CylinderDrinks : Beer, Co..

Programming/Java 2025.04.29

객체지향 기초

[KT] AIVLE SCHOOL 24일차 객체의 개념소프트웨어 객체는 현실 세계의 객체를 필드와 메서드로 모델링한 것소프트웨어 객체는 상태를 필드(Field)로 정의하고 동작을 메서드(Method)로 정의필드는 객체 내부에 선언된 변수를 의미하고 메서드는 객체 내부에 정의된 동작절차 지향 프로그래밍일련의 동작을 순서에 맞추어 단계적으로 실행하도록 명령어를 나열데이터를 정의하는 방법보다는 명령어의 순서와 흐름에 중점수행할 작업을 예상할 수 있어 직관적인데 규모가 작을 때는 프로그래밍과 이해하기가 용이소프트웨어는 계산 위주이므로 절차 지향 프로그래밍이 적합객체 지향 프로그래밍절차 지향 프로그래밍 방식의 한계소프트웨어의 규모가 커지면서 동작과 분리되어 전 과정에서 서로 복잡하게 얽혀 있는 데이터를 사용절차 지..

Programming/Java 2025.04.28

Java 소개

[KT] AIVLE SCHOOL 23일차 자바(Java)객체지향 프로그래밍 언어플랫폼에 구애받지 않는 '한 번 작성하면 어디서나 실행 가능(Write Once, Run Anywhere)' 이라는 철학을 가짐Java 특징객체 지향성 : 모든 것을 객체로 취급하며, 클래스를 통해 객체를 정의하고 구조화된 프로그램을 개발플랫폼 독립성 : 자바 가상 머신(JVM) 위에서 실행되기 때문에 한 번 작성한 코드는 어떤 플랫폼에서도 실행할 수 있음자동 메모리 관리 : 가비지 컬렉터를 통해 사용하지 않는 메모리를 자동으로 정리함보안성: 실행되기 전에 바이트코드를 검증하여 안정성을 확보함멀티스레드 지원 : 언어 차원에서 멀티스레딩을 지원하여 복잡한 프로그램도 효율적으로 동작할 수 있음리치 라이브러리 : 풍부한 표준 라이브..

Programming/Java 2025.04.28