일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- int와 integer
- 자바
- Pug
- js
- 콘솔게임
- React
- Sort()
- 생성자
- 코딩테스트
- app.use
- push함수
- dart
- 다형성
- 추상클래스
- 삼항연산자
- 리액트
- java
- qqOperater
- Oracle
- Spring
- Node.js
- 깃허브
- mybatis
- 네임드생성자
- git
- 배열
- DB
- Middleware
- 오류
- 자바스크립트
- Today
- Total
목록Java (18)
평행코드
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1498W/btsDAC1NZqT/7RNb0FRRSFnfQqKfRVOw20/img.png)
❄ integer와 int는 서로 다른 데이터 타입입니다. 아래는 두 개의 데이터 타입 간의 주요 차이점입니다 자료형 int: int는 자바의 기본(primitive) 데이터 타입입니다. 32비트 크기의 부호 있는 정수를 표현합니다. int는 메모리 상에서 직접 값을 저장하고, null 값을 가질 수 없습니다. Integer: Integer는 int의 래퍼(wrapper) 클래스로, int를 객체로 다룰 수 있도록 해줍니다. Integer는 int 값을 감싸고 있는 객체이며, null 값을 가질 수 있습니다. Integer는 객체이므로 메서드 호출이나 객체 간 상호작용에 유용합니다. Null 값 처리 int: int는 기본 데이터 타입이므로 null 값을 가질 수 없습니다. 따라서 int 변수는 항상 값..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bsAk8P/btsv8NXhXHx/L4eOEI1UtFuIvgdSYq5A1K/img.png)
Serializable Serializable(직렬화)란 자바 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 메커니즘 다른 하드웨어로 저장 할 때 직렬화가 꼭 필요! Serializable 인터페이스를 implements하여 구현 객체 직렬화 시 private 필드를 포함한 모든 필드를 바이트로 변환하지만 transient키워드를 사용한 필드는 직렬화에서 제외 serialVersionUID 필드 직렬화한 클래스와 같은 클래스임을 알려주는 식별자 역할로 컴파일 시 JVM이 자동으로 serialViersionUID 정적 필드를 추가해 별도로 작성하지 않아도 오류는 나지 않지만 자동 생성 시 역직렬화에서 예상하지 못한 InvalidCl..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bpV69O/btswgU2crnq/n3vHBbZr9qyAShOaMCvyu1/img.png)
IO Input과 Output의 약자, 컴퓨터 내부 또는 외부 장치와 프로그램 간의 데이터를 주고 받는 것 스트림(Stream) 입출력 장치에서 데이터를 읽고 쓰기 위해서 자바에서 제공하는 클래스 모든 스트림은 단방향이며 각각의 장치마다 연결할 수 있는 스트림 존재 하나의 스트림으로 입출력을 동시에 수행할 수 없으므로 동시에 수행하려면 2개의 스트림 필요 InputStream 바이트 기반 입력 스트림의 최상위 클래스로 추상클래스임 FileInputStream 파일로부터 바이트 단위로 읽을 때 사용 그림, 오디오, 비디오, 텍스트 파일 등 모든 종류의 파일 읽기 가능 InputStream의 하위 클래스로 InputStream과 사용 방법 동일 FileInputStream객체가 생성될 때 파일과 직접 연결 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/LQQHD/btsv7Bh6B7b/2ImLBMjqr15nZ4kgc4pgw1/img.png)
IOException : 입력출력예외 파일 읽기/ 쓰기, 네트워크 연결 또는 기타 입력/출력 작업에 문제가 있을 때 발생 ClassNotFoundException : 프로그램 실행 중 객체를 생성할 때 클래스를 찾지 못하면 발생하는 Exception Object o = 10; String a = (String)o; NullPointerException : 객체 참고가 없을때, 즉 null값을 가지고 있는 참조 변수로 객체 접근 연산자를 사용했을 때 발생 String name = null; name.length(); ArrayIndexOutofBoundsException : 해당 배열에서 사용할 수 있는 인덱스의 범위에 벗어나는 경우 int[] intArr = new int[5]; System.out.pr..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/drHEqb/btsu0txFt4p/2RggM5ZJvqrTkEdT1fqfy1/img.png)
Iterator : 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스 iterator() 메소드는 List와 Set 계열에서만 사용할 수 있다 * Map의 경우 Set 또는 List화 시켜서 iterator()를 사용해야 함 Set entry = fruits.entrySet(); // fruits의 데이터를 set화 시켜서 entry에 저장 Iterator it = entry.iterator(); // 저장된 데이터에 접근하는데 사용되는 인터페이스 Iterator로 데이터를 가져오기 가격이 20000원 이상인 과일만 key와 value출력 while(it.hasNext()) { Map.Entry f = (Map.Entry)it.next(); Fruit fruit = (Fruit)f.getValue()..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/csmvBU/btsugRsBzLJ/fJRCdo2Ahh1fIKQV7VOWg1/img.png)
상속을 이용해 부모 타입으로부터 파생된 여러 가지 타입의 자식 객체를 부모 클래스 타입 하나로 다룰 수 있는 기술 상속관계에 있어야함!! 클래스 형변환 * 업 캐스팅(Up Casting) 상속 관계에 있는 부모, 자식 클래스 간에 부모타입의 참조형 변수가 모든 자식 타입의 객체 주소를 받을 수 있음 // Sonata 클래스는 Car 클래스의 후손 Car c = new Sonata(); // Sonata클래스형에서 Car클래스형으로 바뀜 // 부모 클래스타입에 자식객체가 저장될때 upcasting // 부모 클래스타입에 저장되면 부모에 선언된 내용만 접근이 가능하다. * 다운 캐스팅(Down Casting) Person person; person = new Teacher(); // 자식에 선언되어있는 내용..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cVPkUK/btsud1W1CgO/cx4kzdPaTTk9iSjdDFojnk/img.png)
오버라이딩 (Override) 자식 클래스가 상속 받은 부모 메소드를 재작성 하는 것 부모가 제공하는 기능을 후손이 일부 고쳐 구현부만 다르게해서 재정의 할 수 있음 자식 객체를 통한 실행 시 후손 것이 우선권을 가진다 데이터를 어떻게 표현할지 커스터마이즈 할 수 있다 숨겨야하는 민감한 정보를 감출때 사용하면 좋음! 오버라이딩의 성립 조건 1. 메소드 이름이 동일해야한다 2. 매개변수의 개수, 타입이 동일해야한다 3. 리턴 타입이 동일해야한다 주의) private 메소드 오버라이딩불가, final 메소드 오버라이딩 불가 final 예약어 fianl 재정의를 불가능하게 할 수 있음 public final String info() { return type + " " + name + " " + age + " ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oIfYW/btsudPh4i5Y/6lXYFGAjVgkYLFqDlm8VOk/img.png)
상속 다른 클래스가 가지고 있는 멤버(필드, 메소드) 들을 새로 작성할 클래스에서 직접 만들지 않고, 상속을 받음으로써 새 클래스가 자신의 멤버처럼 사용할 수 있는 기능 상속의 장점 보다 적은 양의 코드로 새로운 클래스 작성 가능 코드를 공통적으로 관리하기 때문에 코드의 추가 및 변경이 용이 코드의 중복을 제거하여 프로그램의 생산성/ 유지보수에 크게 기여 상속의 특징 1. 모든 클래스는 Object클래스의 후손 Object클래스가 제공하는 메소드를 오버라이딩하여 메소드 재구현 가능 ex) java.lang.String 클래스의 equals()와 toString(), hashCode()... 2. 부모클래스의 생성자, 초기화 블록은 상속 안 됨 자식 클래스 생성 시, 부모 클래스 생성자가 먼저 실행 자식 ..