본문 바로가기

프로그램/객체지향 프로그래밍6

[클래스3] Class 클래스 04. Class 클래스 사용하기 Class 클래스 자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일이 생성됨 Class 클래스는 컴파일 된 class 파일을 로드하여 객체를 동적 로드하고, 정보를 가져오는 메서드가 제공됨 Class.forName("클래스 이름") 메서드로 클래스를 동적으로 로드 함 Class c = Class.forName("java.lang.String"); 클래스 이름으로 직접 Class 클래스 가져오기 Class c = String.class; 생성된 인스턴스에서 Class 클래스 가져오기 String s = new String(); Class c = s.getClass(); //Object 메서드 동적 로딩 컴파일 시에 데이터 타입이 binding 되는 것이 아닌, .. 2022. 3. 7.
[클래스2] String 관련 클래스 03. String, StringBuilder, StringBuffer 클래스, text block String 클래스 String 선언하기 String str1 = new String("abc"); String str2 = "abc"; 힙 메모리에 인스턴스로 생성되는 경우와 상수 풀(constant pool)에 있는 주소를 참조하는 두 가지 방법 힙 메모리는 생성될때마다 다른 주소 값을 가지지만, 상수 풀의 문자열은 모두 같은 주소 값을 가짐 public class StringTest { public static void main(String[] args) { String str1 = new String("abc"); String str2 = new String("abc"); System.out.pri.. 2022. 3. 7.
[클래스1] Object 클래스 01. Object 클래스 - 모든 클래스의 최상위 클래스 java.lang 패키지 프로그래밍시 import 하지 않아도 자동으로 imort됨 import.java.lang.*; 많이 사용하는 기본 클래스들이 속한 패키지 String, Integer, System... 모든 클래스는 Object 클래스를 상속 받는다 java.lang.Object 클래스 모든 클래스의 최상위 클래스는 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있음 컴파일러가 extends Object를 추가함 class Student => class Student extends Object toString() 메서드 객체의 정보를 String으로 바꾸어서 사용할 때 쓰임 Stri.. 2022. 3. 7.
[인터페이스1] 인터페이스란? 인터페이스란? 모든 메서드가 추상 메서드로 선언됨 public abstract 모든 변수는 상수로 선언됨 public static final interface 인터페이스 이름{ public static final float pi = 3.14F; public void makeSomething(); } 자바 8 부터 디폴트 메서드(default method)와 정적 메서드(static method) 기능의 제공으로 일부 구현 코드가 있음 인터페이스 정의와 구현 Calc.java public interface Calc { double PI = 3.14; int ERROR = -99999999; int add(int num1, int num2); int substract(int num1, int num2); i.. 2022. 3. 7.