목록분류 전체보기 (60)
기록 저장소
[ String Class ] 1. String 객체 생성 1) 객체 생성방법 2가지 ▷ literal 값 대입String s1 = "java";String s2 = "java"; ▷ new 연산자 사용String s3 = new String("java");String s4 = new String("java"); 2) String의 주소값, 문자열 비교 ▷ 주소값 비교 : ==if(s1 == s2 ) System.out.println("s1 s2는 주소값이 같다");//oif(s1 == s3 ) System.out.println("s1 s3는 주소값이 같다");//xif(s1 == s4 ) System.out.println("s1 s4는 주소값이 같다");//xif(s2 == s3 ) System.out..
[wrapper class : 기본 DT의 클래스화] ▷ AutoBoxing- casting 연산의 예외- wrapper class에서 같은 타입끼리만, 기본DT와 참조DT간의 형변환이 가능함 UnBoxing : 참조DT >> 기본DT Boxing : 기본DT >> 참조DT * 리터럴 값은 문자열 저장소에, 객체는 Heap에! 서로간의 주소값 비교는 불가! * null : heap에 올라가지 않은 상태
[ 배열 (array) ] : 같은 DT의 여러개의 값을 연속적으로 저장 1. 기본 개념 1) 기본DT 배열 (1) 형식 a. 선언 : 접근제어자 기본DT[] 배열명; | 접근제어자 기본DT 배열명[];ex.)public int[] x; //| public int x[];char c[];boolean[] b; b. 생성 : 배열명 = new 기본DT[길이];ex.)x = new int[3]; c = new char[5];b = new boolean[2]; >>> a, b를 동시에! : 접근제어자 기본DT 배열명[] = new 기본DT[크기];ex.)public int x[] = new int[3];char c[] = new char[5];boolean b[] = new boolean[2]; c. 사용 :..
[ package ] : 비슷한 기능을 가진 class의 묶음 1. 기본개념 ▷ window의 folder 개념 ▷ class 첫 줄에 package 지정형식)package packagename; - packagename : site 주소를 거꾸로.특정이름;ex)//kitri.compackage com.kitri.member; package com.kitri.board; package com.kitri.product; - packagename의 특정 이름은 기능 분류 - []하위 패키지?? 그럼 하위패키지에 있는건 상위패키지에 없음?? ▷ package로 지정된 클래스 사용- import keyword 이용 단, java.lang package는 import 없이 사용가능 형식)import package..
* 상수 : 변경이 불가능한 값을 가진 것형식)public static final DT CONST_NAME = 값; - 상수의 DT는 int를 일반적으로 많이 사용함- 상수는 대문자 및 _로 표기- 상수는 어차피 고정된 값이기에 접근제어자는 public- 마찬가지로 값이 변경될 걱정이 없으므로 static ex)public static final int YEAR = 2019;public static final String CARSET = "UTF-8" [ 제어자 (modifier) ] 1. 접근제어자 (access modifier) - 변수의 경우, 전역변수에만 접근제어자를 사용할 수 있음!! ▷ private 자신의 클래스 안에서만 사용 가능▷ deefault(생략) private + 같은 packag..
[ Interface ] : 추상메소드만 가진 클래스의 일종 1. 기본개념 형식)접근제어자 interface InterfaceName { 상수; 접근제어자 [abstract] returnType methodName([args]); } - 추상메소드, 상수는 가능 (but, 변수, 구현메소드, 생성자는 불가) ▷ interface는 클래스에 구현 후 사용- implements keyword 사용 형식)접근제어자 class ClassName [extends ClassName] implements IN1, IN2, IN3, ... { @Override } - 다중 implements 가능 (cf. extends는 단일상속만 가능) ▷ interface 자체적으로는 객체 생성 불가능- 클래스에 implement..
[ 추상클래스 (Abstract Class) ] 1. 기본개념 1) 정의: 추상메소드를 하나이상 가진 클래스 2) abstract keyword 사용 형식)접근제어자 abstract class ClassName { (field) 접근제어자 DT varName; (constructor) 접근제어자 ClassName([args]) { } (method) 접근제어자 RT methodName([args]) { //구현method : method의 선언과 method의 body로 구성되어 있음 } 접근제어자 abstract RT methodName([args]); //추상method : method의 선언만 있음 } - return type 앞에는 modifier가 올 수 있음 (접근제어자는 access modi..
[ 상속 (inheritance) ] 1. 기본개념 형식)접근제어자 class ClassName extends ClassName { }>> 앞의 것 : 하위class, 뒤의 것: 상위class ▷ 상위class의 filed와 method를 하위class에서 사용 (객체생성 없이) 단, private field와 private method 및 생성자는 상속 불가!! (객체 생성시 상위class의 생성자가 자동으로 호출됨) ▷ extends keyword 사용 ▷ class간의 상속은 단일 상속만 가능 (다중상속 불가) → 상위class는 하나만 쓸 수 있다는 의미 ▷ 계층적 상속은 가능 ▷ 모든 클래스의 최상위 클래스는 Object class임 (default!) ▷ method overriding(met..