📍 제네릭 (Generic, 일반화) – 클래스 정의 시 사용할 데이터타입을 미리 명시하지 않고, 객체 사용 전 사용할 타입을 객체 생성 시 명시하는 사용기법. – 주로 Collection API의 클래스들이 제네릭이 적용되어 있으므로, 인스턴스 생성 시, 제네릭 타입으로 사용할 데이터타입으로 지정. → 지정된 데이터타입이 클래스 내의 임시 데이터타입을 대체하게 됨. EX1 ) 제네릭을 사용하지 않을 경우 1. 사용할 데이터타입을 '특정 타입'으로 관리하는 경우 class NormalIntegerClass{ int data; // 변수 data는 정수형 데이터만 저장 가능 // Geeter & Setter public int getData() { return data; } public void setDa..

📍 Scanner 클래스 – 화면, 파일, 문자열과 같은 입력 소스로부터 문자데이터를 읽어오는데 사용되는 클래스. – 여러 형태의 생성자를 오버로딩하여 지원하므로 다양한 입력소스로부터 데이터를 읽을 수 있음. ex ) scanner(String source), scanner(file source) 등 – 정규표현식 (Regular expression)을 이용한 라인단위의 검색을 지원함. – scanner를 사용하기 위해서는 java.util.Scanner import 필요. – nextXXX() 메서드를 호출하여 입력 받음. 1 ) nextInt() : int 2 ) nextLine() : String ▸ Scanner 설정 문법 Scanner 변수명 = new Scanner( ); Scanner 변수명..

목차 📍 Object 1. equals() 메서드 1–1. 오버라이딩 된 equals() 메서드 2. String 객체 (문자열) 생성 방법 2–1. Constant pool 그림 설명 3. toString() 메서드 📍 Object 클래스 – java.lang 패키지에 위치하는 클래스. – 모든 클래스의 슈퍼클래스 (최상위 클래스) → 상속을 표현하지 않으면 자동으로 상속되는 클래스. – Object 클래스의 모든 멤버는 다른 클래스에서 사용 또는 오버라이딩 가능. ▶ equals( ) 메서드 – public boolean equals(Object o) { } – 두 객체가 같은지 동등비교(==)를 수행함. → 즉, 두 객체의 주소값을 비교하여 같으면 true 다르면 false 리턴. – 실제 '두 객..

목차 📍 인터페이스 (Interface) – 인터페이스 정의 문법 – 인터페이스를 상속 받은 서브클래스 정의 문법 1. 인터페이스 정의 1–1. 인터페이스를 상속 받아 구현하는 서브클래스 정의 1–2. 추상클래스 정의 – 인터페이스와의 차이 1–3. main 메서드에서 실행 – 인터페이스 내의 상수 – 업캐스팅 2. 클래스의 다중 상속 문제 2–1. 인터페이스의 다중 상속 3. 인터페이스의 필요성 3–1. 인터페이스를 통한 간접적인 클래스 사용 3–2 . 서로 상속 관계가 없는 클래스 관계 3–3. 모듈간 독립적 프로그래밍 📍 인터페이스 (Interface) – 클래스가 아니므로 선언 시 calss 키워드를 사용하지 않고 interface 키워드를 사용하여 정의. – 인터페이스는 상수와 추상메서드만 가질..
목차 1. 상수를 활용하지 않는 클래스 2. 상수를 활용한 클래스 3. 상수 활용의 예 📍 상수 (Constant) – 변하지 않는 데이터 = 변하지 않는 데이터를 저장한 변하지 않는 변수. – 보통 클래스 내에서 상수를 선언 시 public static final 형태로 선언. 1 ) public : 누구나 접근 가능 2 ) static : 클래스 로딩 시 함께 로딩되어 인스턴스 생성과 무관하며, 클래스 하나 당 하나만 생성되도 모든 인스턴스가 공유함. → 클래스명만으로 접근 가능 (클래스명.변수명) 3 ) final : 데이터 변경 불가 = 상수 EX ) • 상수를 활용하지 않는 클래스 class CarInfo{ // 멤버변수 private String company; private String ca..
목차 1. 추상 메서드 2. 추상 클래스 EX1 ) 기본 정의 및 사용 EX2 ) 다형성 활용하기 EX3 ) 서브클래스에서 추상메서드의 오버라이딩 분할하기 [ Test ] 📍 추상메서드 (Abstract Method) – 메서드 바디(= 구현부 { })가 존재하지 않는 메서드 = 미완성 메서드 → 실행 코드가 없으므로 실행 (호출)될 수 없는 메서드. – 메서드 선언부 접근제한자 뒤에 abstract 키워드를 붙여서 선언. → 바디가 없으므로 메서드 마지막을 세미콜론(;)으로 마무리 함. → 메서드 실행 코드(바디)가 없으므로 외부에서 호출되면 안되는 메서드. – 바디가 없을 뿐, 파라미터로 값 전달 받을 수 있음. ▸ 추상메서드 정의 기본 문법 [접근제한자] abstract 리턴타입 메서드명 ( [매개..
목차 1. 동적 바인딩 2. 다형성 EX1 ) 오버라이딩 EX2 ) 업캐스팅 EX3 ) 배열에 다형성 적용하기 3. 메서드에 다형성 활용 4. 총정리 📍 동적 바인딩 – 상속 관계에서 업캐스팅 후 메서드를 호출할 때, 컴파일(번역) 단계에서의 실행 대상과 실제 실행 단계에서의 실행 대상이 달라진 것. – 참조변수의 타입과 무관하게 '실제 인스턴스'의 메서드를 실행하게 됨. – 업캐스팅 시 일어나는 동적바인딩은 ctrl + click으로 해당 메서드의 출처를 알기가 힘듬. 원래라면 참조하고 있던 메모리가 없어졌으므로 에러가 나야하는데 Java가 에러 안나게끔 길을 바꿔준 것. EX ) • 클래스 생성하기 class Parent{ public void parentPrn() { System.out.printl..

목차 0. JAVA 프로그램 실행 과정 1. static 키워드 1-1. static 변수 1-2. static 메서드 1-3. static 멤버와 인스턴스 멤버의 메모리 할당 순서 2. 싱글톤 디자인 패턴 (Singleton Design Pattern) 📍 JAVA 프로그램 실행 과정 0. 소스 코드 작성 및 컴파일 후 클래스 실행 → .java파일을 만들어서 javac라는 명령어로 컴파일 1. 클래스 로딩 → static변수 및 메서드가 먼저 메모리에 로딩됨. 2. main() 메서드 호출 (실행) 3. 인스턴스 생성 → 인스턴스 변수(= field = 멤버변수) 및 메서드가 메모리에 로딩됨. 4. 참조변수를 통해 인스턴스 메서드 호출 (실행) → 로컬 변수가 메모리에 로딩됨. 5. 결과 출력 6. ..
- Total
- Today
- Yesterday
- 내장객체
- Object
- 문자형
- gitbash
- 숫자형
- 로컬저장소
- JSTL
- 매개변수
- 출력문
- 원격저장소
- 오버라이딩
- model2
- 다형성
- javascript
- Method
- 데이터타입
- 단일행함수
- null
- Dao
- DB
- jsp
- 인자
- Git
- 주석문
- 업캐스팅
- Java
- 논리형
- mysql
- 제어문
- github
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |