코딩 공부 (3) 썸네일형 리스트형 14. String 클래스 및 Class 클래스 1. String 클래스 String 선언하기 new 해서 쓰거나 그냥 = "abc"처럼 할당해서 쓰거나 1. 힙 메모리에 인스턴스로 생성되는 경우와 상수 풀에 있는 주소를 참조하는 두 가지 방법 2. 힙 메모리는 생성될 때마다 다른 주소 값을 가지지만, 상수 풀의 문자열은 모두 같은 주소 값을 가짐 -> 얘는 힙에 잡힌다. -> 생성마다 다른 주소 값(객체로 생성한다 생각해) -> 얘는 상수 풀에 잡힌다.-> 생성마다 같은 주소 값 == -> 주소값을 비교하니까 위와 같은 결과가 나온다, 3. 한 번 생성된 String은 불변(immutable) 4. String을 연결하면 기존의 String에 연결되는 것이 아닌 새로운 문자열 생성(메모리 낭비 발생 가능성) 문자열 객체 두 개 만들고 concat으로.. 13. Object 클래스 및 메서드 활용 1. Object 클래스 모든 클래스의 최상위 클래스 1. java.lang.Object 클래스 2. 모든 클래스는 Object 클래스를 상속 받고, Object 클래스의 메서드 중 일부는 재정의 후 사용 가능 3. 컴파일러가 extends Object를 추가한다. java.lang 패키지 1. 프로그래밍시 import 하지 않아도 자동으로 import 된다.(import.java.lang) 2. 많이 사용하는 기본 클래스들이 속한 패키지(Object 포함됨) -> String, integer, System등 2. Object 클래스의 메서드 활용 toString() 메서드 1. 객체의 정보를 String으로 바꾸어서 사용할 때 쓰임 2. String 이나 integer 클래스는 이미 재정의 되어 있음 .. 11. 추상 클래스의 의미 및 응용 1. 추상 클래스 추상 클래스란? 구현 코드 없이 메서드의 선언만 있는 추상 메서드를 포함한 클래스 1. 메서드 선언 : 반환타입, 메서드 이름, 매개변수로 구성 2. 메서드 정의 : 메서드 구현과 동일한 의미 구현부를 가짐 -> {} 이 부분을 의미한다. ex) int add(int x, int y); // 이게 이제 선언 -> 추상 메서드 ex) int add(int x, int y){}; // 구현부가 있으므로 추상 메서드 X 3. abstract 예약어를 사용 4. 추상 클래스는 new 할 수 없다.(인스턴스화 할 수 없다 -> 구현부가 없으니!) 추상 클래스 구현하기 1. 메소드에 구현코드가 없다면 abstract로 선언 2. abstract로 선언된 메서드를 가진 클래스는 abstract로 선.. 이전 1 다음