전체 글
🚧
아무것도 없어요😢
-
[Java] 컬렉션 프레임워크📁 컬렉션 프레임워크 다수의 데이터을 다루기 위한 표준화된 프로그래밍 방식 컬렉션을 다루는 데에 필요한 다양한 클래스들을 제공한다. 컬렉션의 장점 배열과 달리 저장하는 크기의 제약이 없다. 배열과 달리 객체의 추가, 삽입, 정렬 등 기능 처리가 메서드로 구현되어 있어 간단하게 해결된다. 여러 타입의 데이터를 저장할 수 있다. 📁 핵심 인터페이스 📂 Collection List와 Set의 조상 인터페이스 Collection의 메서드 컬렉션에 저장된 데이터를 읽고 추가/삭제하는 등 기본적인 메서드를 정의하고 있다. 메서드 설명 boolean add(E element) 객체를 추가 boolean addAll(Collection c) 지정된 컬렉션에 포함된 객체를 모두 추가 boolean remove(Objec..🌷 Java2022.08.11
-
[Java] 입출력(I/O)📁 입출력 I/O 입력과 출력 Input과 Output 컴퓨터 내부 또는 외부 장치와 프로그램 간에 데이터를 주고받는 것 입력과 출력의 기준은 프로그램 자신이다. 입력 Input 장치에서 프로그램으로 데이터가 전달되는 것 출력 Output 프로그램에서 장치로 데이터가 이동되는 📁 스트림 데이터를 한쪽에서 다른쪽으로 전달하기 위해서는 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데 이것을 스트림이라고 한다. 각각의 장치마다 연결 가능한 스트림이 존재한다. 스트림은 물이 한쪽 방향으로만 흐르는 것과 같이 단방향 통신만 가능하다. 입력은 장치에서 프로그램으로, 출력은 프로그램에서 장치로 데이터가 이동하는 것이기 때문에 방향이 다르다. 따라서 입력과 출력을 동시에 수행하려면 2개의 스트림이 필요하..🌷 Java2022.08.10
-
[Java] 날짜와 시간, 형식화📁 날짜와 시간 Date 클래스 날짜와 시간을 다룰 목적으로 만들어진 클래스(JDK1.0). 대부분 deprecated되어있음. Calendar 클래스 Date 클래스를 개선한 새로운 클래스(JDK1.1) time 패키지 Date와 Calendar의 단점을 개선한 새로운 클래스를 제공하는 패키지(JDK1.8) 📁 Calendar 클래스 날짜와 시간을 다루기 위한 클래스. getInstance() 추상클래스이므로 메서드를 통해 객체를 얻어야 함. 기본적으로 현재 날짜와 시간으로 설정된다. Calendar cal = Calendar.getInstance(); Calendar의 필드 필드를 사용할 때에는 Calendar.필드명으로 사용한다. YEAR : 년 MONTH : 월(0부터 시작) DATE : 일 WE..🌷 Java2022.08.08
-
[Java] 메서드의 바인딩📁 바인딩 Binding 프로그램에 사용된 구성 요소의 실제 값 또는 프로퍼티를 결정짓는 행위를 의미한다. 메서드에서 바인딩이란 메서드를 사용할 때 호출된 메서드와 실제 메서드가 위치한 메모리를 연결하는 행위이다. 오버라이딩을 예시로 들자면 조상 메서드와 자손에서 오버라이딩된 메서드 중 어떤 것을 사용할지 결정하는 과정이다. 바인딩은 그것이 수행되는 시점에 따라 정적바인딩과 동적바인딩으로 구분된다. 바인딩이 컴파일타임에 수행되면 정적바인딩, 런타임에 수행되면 동적바인딩이다. 📁 정적바인딩 Static binding 자바 컴파일러는 실제 인스턴스의 타입 정보를 정확히 알지 못하는 채로 컴파일을 진행한다. 인스턴스는 런타임이 되어서야 new 연산자에 의해 메모리에 로드되기 때문이다. 따라서 컴파일타임에 바인..🌷 Java2022.08.08
-
[Java] java.lang 패키지와 유용한 클래스📁 java.lang 패키지 자바 프로그래밍에 기본이 되는 클래스드를 모아둔 패키지 import문 없이 바로 사용 가능하다. 📁 Object 클래스 모든 클래스의 최고 조상 멤버로 11개의 메서드를 가지고 있다. 📂 equals() 객체 자신과 다른 객체를 비교하여 결과를 boolean값으로 반환하는 메서드 Object에서는 주소값을 비교하도록 구현되어 있으므로 적절한 멤버로 비교할 수 있도록 오버라이딩해야 한다. public boolean equals(Object obj) 📂 hashcode() 객체의 해시코드를 반환하는 메서드 equals()와 함께 객체 비교에 사용된다. 규약상 equals()의 결과와 hashcode()의 비교 결과가 같도록 오버라이딩해주는 것이 좋다. public int hash..🌷 Java2022.08.08
-
[Java] 예외처리📁 프로그램 오류 프로그램이 실행중 오작동하거나 비정상적으로 종료되게 만드는 원인 발생시점에 따라 컴파일에러, 런타임에러, 논리적에러가 있다. 컴파일에러 프로그램을 컴파일할 떄 발생하는 오류 런타임에러 프로그램 실행도중 발생하는 오류 논리적에러 프로그램이 작성 의도와 다르게 동작하는 오류 런타임에러 컴파일러는 컴파일시 오타나 잘못된 구문, 타입 체크 등을 통해 에러 여부를 알려준다. 그러나 표면적인 소스코드만을 체크할 뿐 실행 중 발생할 수 있는 잠재적인 오류까지 검사할 수는 없다. 따라서 문제없이 컴파일이 되더라도 런타임에 오류가 발생할 수 있다. 에러 프로그램 코드에 의해 수습될 수 없는 심각한 오류 예외 프로그램 코드에 의해 수습될 수 있는 다소 미약한 오류 📁 예외클래스의 계층구조 자바에서는 실행..🌷 Java2022.08.08
-
[Java] 객체지향 프로그래밍Ⅱ📁 상속 클래스를 재사용해 새로운 클래스를 만드는 것 두개의 클래스에 조상-자손 관계를 맺어주는 것 클래스에서 다른 클래스를 상속할 때에는 확장한다는 뜻의 extends를 사용 class Child extends Parent {} 특징 자손은 부모의 멤버를 모두 물려받지만 생성자와 초기화블럭은 상속되지 않는다. 자손의 멤버 수는 조상과 같거나 많다. 자손 멤버의 변경은 조상 멤버에 영향을 미치지 않는다. 장점 코드의 재사용성 향상 코드를 공통적으로 관리해 코드의 추가 및 변경 용이 코드의 중복을 방지해 프로그램의 생산성과 유지보수에 기여 📁 클래스 사이의 관계 자바는 단일상속만을 지원한다. 다중상속이 필요한 경우 가장 비중이 높은 클래스를 상속하고 나머지는 포함관계로 만들어야 한다. 상속관계 한 클래스를..🌷 Java2022.08.08
-
[Java] 객체지향 프로그래밍Ⅰ📁 객체지향언어 기존의 프로그래밍 언어에 규칙을 추가해 발전시킨 것 코드 사이에 유기적인 관계를 맺어주어 서로 상호작용하도록 프로그램을 구성할 수 있다. 객체지향언어의 특징 코드의 재사용성이 높다. 코드 관리, 유지보수에 용이하다. 중복 코드를 제거해 신뢰성이 높은 프로그래밍이 가능하다. 📁 클래스와 객체 클래스 객체를 정의해놓은 틀. 객체를 생성하는 데에 사용되는 설계도 class 클래스명 {} 객체 클래스에 정의된 내용대로 메모리에 생성된 것 클래스가 의도한 속성과 기능을 갖춘 상품 속성(멤버변수)과 기능(메서드)으로 구성 인스턴스화 클래스로부터 객체를 만들어내는 과정 new 연산자를 사용 new 클래스명(); 인스턴스 Instance 인스턴스화의 결과물로 만들어진 객체 같은 타입의 참조변수로 인스턴..🌷 Java2022.08.08