반응형 SMALL JAVA16 [Java] StringBuffer, StringBuilder (정말 방대한 양의 데이터를 수시로 바꿔야 될 때만 StringBuffer를 사용했을 때 효과가 있다) 그냥 평상시에는 String 사용해도 문제없다. String str = "ABC"; // String str = new String("ABC"); str += "DEF" 문자열이 변경될 때 완전히 새로운 메모리를 다시 만들어서 "ABCDEF"를 저장한다. 그리고 기존에 str이 있던(가리키던) 메모리는 삭제된다. (속도 느림) 하지만 StringBuffer를 쓰면 StringBuffer str = new StringBuffer("ABC"); str.append("DEF"); System.out.print(str); // ABCDEF 기존의 str 메모리에 "DEF"가 그냥 추가가 되기 때문에 굳이 새로.. 2020. 9. 12. [Java] 추상클래스 인터페이스와 달리 모든 메서드가 추상메서드는 아니다 (일반메서드 + 추상메서드) 목적 : 추상클래스를 상속받아서 기능을 이용하고 확장시키기 위해 - 추상클래스에는 추상메서드를 일단 선언만 해놓는다. - 클래스이기 때문에 생성자, 상속(단일) 지원 - 키워드 abstract 로 표시 - 추상클래스는 객체를 만들 수 없다. 따라서 서브클래스를 만드는 용도로만 사용된다. - 공통된 부분을 추상메서드로 만들어놓는다. Bank.java(추상클래스) public abstract class Bank { // 추상클래스 String name; String account; int total; public Bank(String name,String account,int total) { System.out.println(".. 2020. 9. 12. [Java] 인터페이스 인터페이스를 사용하면 각 객체의 특성에 맞게 메서드를 재정의 할 수 있다. 추상메서드만을 가진 순수한 추상클래스! 목적: 함수의 구현을 강제하기 위해(객체의 동작을 필수적으로 구현해야함) static final 데이터 멤버(상수)를 가질 수 있음. Toy.java public interface Toy { // 인터페이스 안에서 일단 선언만해줌. public void printName(); public void walk(); public void run(); public void alarm(); public void light(); } ToyAirplane.java public class ToyAirplane implements Toy { // 객체의 특성에 맞게 여기서 정의해줌. public void p.. 2020. 9. 12. [Java] toString() 메서드 자동 호출 toString 메서드를 오버라이딩하면 내부적으로 toString메서드가 String 객체를 리턴한다. 대표적으로 두 가지 경우 1. 일반적인 경우 public class Code01 { static class PhoneNum{ private String name; private int number; public PhoneNum(String name,int number) { this.name = name; this.number = number; } public String toString() { return name + " -> " + number; } } public static void main(String[] args) { PhoneNum person = new PhoneNum("haeun",123.. 2020. 9. 5. 이전 1 2 3 4 다음 반응형 LIST