전체 글80 메서드 인수에 메서드 넣기 public void hello(String str){ System.out.println("프로그램 시작"); System.out.println(str); System.out.println("프로그램 종료");}public static void main(String[] args) { hello("안녕"); hello("봉쥬르");} 변하는 부분(System.out.println(str);)만 변경하고 싶을 때,상황에 따라 변하는 문자열을 외부에서 받으면 된다. 하지만 변하는 부분이 아주 상관없는 코드라면? 메서드를 넣을 수 있나? 생각이 들것이다.hello(Sum());hello(Minus());하지만 이렇게는 지원하지 않고, 인스턴스를 받아서 사용하면 되는데이때 익명클래스를 .. 2024. 9. 25. 지역클래스, 익명클래스 지역클래스메서드 안에서도 클래스를 생성할 수 있다. public class LocalOuter { private int outInstanceVar = 3; public void process(int paramVar){ int localVar = 1; class LocalPrinter{ int value = 0; public void print() { System.out.println("value = "+ value); System.out.println("localVar = "+localVar); System.out.println("paramVar = "+paramVar); .. 2024. 9. 24. 중첩, 내부클래스 public class Outer{ private static int a = 1; // 클래스 변수 private int b = 2; // 인스턴스 변수 class Inner{ private int c = 3; } }중첩 클래스란 클래스 안에 클래스가 들어있는 것을 말한다. 중첩클래스를 이용하면 1. 캡슐화를 더 이용(?)할 수 있다.2. 불필요한 클래스파일(한 클래스로만 이용한다면)을 하나 줄일 수 있다. 중첩클래스는 다른 하나의 클래스 안에서만 사용되거나, 둘이 아주 긴밀하게 연결되어있는 특별한 경우에만 사용한다.ex) 이 내부클래스는 이 클래스에서만 사용된다. (다른데서 사용x) 중첩 정적 클래스내부 클래스 인데 static이 붙음: 바깥클래스 인스턴스 변수에 접.. 2024. 9. 24. 열거형 - enum 사용자에게 String타입 입력을 받을 때 타입 안정성이 부족하다.- 오타, 소문자입력 등 정확하게 입력 받아야함. 이를 막기위해 상수형으로 제한할 수 있지만 코드가 많이 복잡해진다.(HttpStatus.OK으로 사용)public class HttpStatus { public static final ClassGrade OK = new HttpStatus(); public static final ClassGrade BAD_REQUEST = new HttpStatus(); public static final ClassGrade NOT_FOUND = new HttpStatus(); public static final ClassGrade INTERNAL_SERVER_ERROR = new H.. 2024. 9. 20. 래퍼 클래스 (박싱, 언박싱) 기본형 타입(int, double...)은 객체가 아니고, null 값을 가질 수 없다.기본형을 가지고 클래스를 만들면 객체로 사용할 수 있다. 자바가 제공하는 래퍼클래스byte -> Byteshort -> Shortint -> Integerlong -> Longfloat -> Floatdouble -> Doublechar -> Characterboolean -> Boolean 래퍼클래스 생성 예시Integer newInteger = new Integer(10); // 자바 삭제 예정, 대신에 valueOf() 사용Integer integerObj = Integer.valueOf(10);Long longObj = Long.valueOf(100);Double doubleObj = Double.valueOf.. 2024. 9. 19. StringBuilder String은 불변객체이다!그래서 꼭 변수에 담아서 사용해야한다. 예를들어 String의 문자열을 합쳐주는 메서드 concat()를 사용할 때 꼭 새로운 변수에 담아 사용해야한다.String str = "Hello";str.concat(", World!");System.out.println(str); // Hello 출력String result = str.concat(", World!");System.out.println(result); // Hello, World! 출력 String은 불변객체이기 때문에,문자열에 변화를 주려고 할때마다 String 객체가 생성되고 기존은 버려진다. (불필요한 처리시간 소요 됨) StringBuilderStringBuilder는 가변적이고 객체 안에서 문자열 추가, 삭제.. 2024. 9. 16. 이전 1 2 3 4 5 6 7 ··· 14 다음