언어99 String, StringBuilder, StringBuffer, text block String 클래스 힙 메모리에 인스턴스로 생성되는 경우와 상수 풀(constant pool)에 있는 주소를 참조하는 두 가지 방법 힙 메모리는 생성될때마다 다른 주소 값을 가지지만, 상수 풀의 문자열은 모두 같은 주소 값을 가짐 선언 방법 String str11 = new String("abc"); String str12 = "abc"; 한번 생성된 String은 불변 String을 연결하면 기존의 String에 연결되는 것이 아닌 새로운 문자열이 생성됨(메모리 낭비가 발생할 가능성 있음) package ch38; public class StringTest { public static void main(String[] args) { String java = new String("java"); Strin.. 2021. 4. 25. Object 클래스의 메서드 활용 equals() 메서드 두 인스턴스의 주소 값을 비교하여 true/false를 반환 재정의 하여 두 인스턴스가 논리적으로 동일함의 여부를 구현함 인스턴스가 다르더라도 논리적으로 동일한 경우 true를 반환하도록 재정의 할 수 있음(같은 학번, 같은 사번, 같은 아이디의 회원....) hashCode() 메서드 hashCode()는 인스턴스의 저장 주소를 반환함 힙메모리에 인스턴스가 저장되는 방식이 hash방식 hash: 정보를 저장, 검색하는 자료구조 자료의 특정 값(키 값)에 대한 저장 위치를 반환해주는 해시 함수를 사용 package ch37; public class Student { private int studentNun; private String studentName; public Studen.. 2021. 4. 22. Object 클래스 - 모든 클래스의 최상위 클래스 java.lang 패키지 프로그래밍 시 import 하지 않아도 자동으로 import 됨 import.java.lang.*; 많이 사용하는 기본 클래스들이 속한 패키지 String, integer, System..... 모든 클래스는 Object 클래스를 상속 받는다. java.lang.Object 클래스 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있음 컴파일러가 extends Object를 추가함 class Student => class Student extends Object toString() 메서드 객체의 정보를 String으로 바꾸어서 사용할 때 쓰임 String이나 Integer 클래스는 이미 재정의 되어 있음 package ch36;.. 2021. 4. 22. 여러 인터페이스 구현, 인터페이스의 상속 자바의 인터페이스는 구현 코드가 없으므로 하나의 클래스가 여러 인터페이스는 구현 할 수 있음 디폴트 메서드가 중복 되는 경우는 구현 하는 클래스에서 재정의 하여야 함 여러 인터페이스를 구현한 클래스는 인터페이스 타입으로 형 변환 되는 경우 해당 인터페이스에 선언된 메서드만 사용 가능 함 package ch35; public interface Buy { void buy(); default void order() { System.out.println("buy order"); } } package ch35; public interface Sell { void sell(); default void order() { System.out.println("sell order"); } } package ch35; pu.. 2021. 4. 19. 인터페이스의 요소 상수 모든 변수는 상수로 변환 됨 public static final 추상 메서드 모든 선언된 메서드는 추상 메서드 public abstract 디폴트 메서드 (자바 8이후) 구현을 가지는 메서드, 인터페이스를 구현하는 클래스들에서 공통으로 사용할 수 있는 기본 메서드 default 키워드 사용 구현 하는 클래스에서 재정의 할 수 있음 인터페이스를 구현한 클래스의 인스턴스가 생성 되어야 사용 가능함 정적 메서드 (자바 8이후) 인스턴스 생성과 상관 없이 인터페이스 타입으로 사용할 수 있는 메서드 private 메서드 (자바 9이후) 인터페이스를 구현한 클래스에서 사용하거나 재정의 할 수 없음 인터페이스 내부에서만 사용하기 위해 구현하는 메서드 default 메서드나 static 메서드에서 사용함 pack.. 2021. 4. 19. 인터페이스를 활용한 dao 구현 DB에 회원정보를 넣는 dao(data access object)를 여러 DB제품이 지원 될 수 있게 구현함 환경파일(db.properties)에서 database의 종류에 대한 정보를 읽고 그 정보에 맞게 dao 인스턴스를 생성하여 실행될 수 있게 함 파일 구조 db.properties는 프로젝트파일에 바로 생성 DBTYPE=MYSQL package ch33.domain.userinfo.dao; import ch33.domain.userinfo.UserInfo; public interface UserInfoDao { void insertUserInfo(UserInfo userInfo); void updateUserInfo(UserInfo userInfo); void deleteUserInfo(UserI.. 2021. 4. 19. 이전 1 ··· 7 8 9 10 11 12 13 ··· 17 다음