표준 입력Scanner in = new Scanner(System.in);System.out.println(in.nextInt()); // 입력 받은 값 출력
분류 전체보기
조상의 변경은 자손에 영향을 미치지만, 자손의 변경은 조상에 아무런 영향을 미치지 않는다.extends : 부모 클래스를 '확장'하여 자식 클래스를 생성한다는 의미'하위 클래스 is a 상위 클래스' 관계가 성립할 경우에만 상속을 사용하자.오버라이딩의 조건 이름, 매개변수 개수와 타입, 리턴 타입 동일자식 메소드의 접근 범위는 부모보다 같거나 더 넓어야 함. → 부모(public)이면 자신은 public만 됨.JDK 1.5부터 리턴타입 간 상속관계가 있는 경우 오버라이딩으로 간주 → 부모 public Object test() {..} 자식 public String test() {..} // 이때도 오버라이딩으로 간주하며 자식 test() 호출 시 String 리턴함Class나 Method 선언부에 fin..
int보다 작은 타입끼리 연산한 결과의 변수 타입은 int가 된다.byte, short/char, int, long, float, doubleint + double → double + double → double SW 설계 시 모듈화 유의사항 : high cohesion(응집도), loose coupling만약 생성자가 하나라도 있다면, 기본 생성자는 자동 추가되지 않는다.문자열을 자주 조작하는 경우 String 객체가 많이 생기기 때문에 효율적이지 않음 → StringBuilder나 StringBuffer 사용문자열 비교는 String reference 변수가 null이 아닌 경우에 equals 메소드를 호출해야하기 때문에 반드시 null check! if (str1 != null && str1.equ..
동적 바인딩 : 실행할 당시의 객체 타입 기준으로 바인딩 되는 것Super obj = new Sub() 일 경우 - 부모 생성자 → 자식 생성자 순으로 호출 - 부모와 자식 클래스에서 각각 public int num 멤버를 선언했다면 자식 클래스 내부에서 obj.num 출력하면 부모 것 출력 (Sub로 캐스팅해야 Sub의 num이 출력됨) public int num을 상속 받은 경우에만 자식 것을 출력(overriding처럼) - Sub에만 있는 method 호출 시 : 컴파일 에러 (캐스팅 필요)instaceof 키워드 if (e instance of Person) { ... } 연속해서 사용할 경우 Sub class부터 instanceof 해야함인터페이스 - 모든 메소드는 public abstract..
finally - try 또는 catch 블럭에서 return을 만나도 finally 블럭은 수행된다. - System.exit()을 만나면 무조건 프로그램 종료 - 주로 리소스 관리 고려하는 코드예외처리 방법 1. caller에게 처리 위임 - 메소드 선언 시 throws exception_name - 계속 위임하면 main까지 가고 main 마저 try-catch가 없으면 비정상 종료 2. Exception e = new Exception("에러") 객체 생성 후 throw e; // throw new Exception("에러"); 3. catch 절에서 exception을 그대로 던지거나 catch 블록 내에서 새로운 exception을 throw new Exception("새로운 예외") 하기도 ..