본문 바로가기
[TIL 220118] BufferedReader / BufferedWriter 백준 단계별 문제 풀이 중 for문 문제 중 15552번에서 컴파일 시간을 줄이기 위해 Scanner 대신 BufferedReader와 BufferedWriter를 사용하라고 하는데 아직 거기까지 진도를 못나갔기 때문에 블로그에 TIL로 따로 정리를 해보려고 한다. BuffedReader / BufferedWriter는 이름처럼 버퍼를 이용해서 읽고쓰는 함수다. 이 함수는 버퍼를 이용하기 때문에 이 함수를 이용하면 입출력의 효율이 비교할 수 없을 정도로 좋아진다. BufferedReader의 readLine()을 사용하면 데이터를 라인단위로 읽을 수 있고 BufferedWriter는 newLine()이라는 줄바꿈 해주는 메서드를 가지고 있다. BufferedReader가 Scanner보다 빠른 이유는 버.. 2022. 1. 19.
[TIL 220110] 자바의정석 7. 객체지향 프로그래밍 II (2) 4. 제어자(modifier) 4.1 제어자란? 제어자(modifier)는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 제어자의 종류는 크게 접근 제어자와 그 외 제어자로 나눌 수 있다. 접근 제어자 - public, protected, default, private 그 외 - static, final, abstract, native, transient, synchronized, volatile, stricftfp 제어자는 클래스나 멤버변수와 메서드에 주로 사용되며, 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능하다. 단, 접근 제어자는 한번에 네 가지 중 하나만 선택해서 사용할 수 있다. ※ 제어자들 간의 순서는 관계 없지만 주로 접근 제어자를 제일 .. 2022. 1. 10.
[TIL 220109] 자바의정석 7. 객체지향 프로그래밍 II (1) 1. 상속(inheritance) 1.1 상속의 정의와 장점 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 상속의 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여하는 것이다. 더보기 class Child extends Parent { //. . . } 상속을 구현하는 방법은 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써주면 된다. Parent, Child 두 클래스는 서로 상속 관계에 있다고 하며, 상속해.. 2022. 1. 10.
[TIL 220108] 자바의정석 6. 객체지향 프로그래밍 I (2) 4. 오버로딩 4.1 오버로딩이란? 메서드도 변수와 마찬가지로 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 한다. 그러나 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다. '오버로딩(overloading)'의 사전적 의미는 '과적하다.' 즉, 많이 싣는 것을 뜻한다. 보통 하나의 메서드 이름에 하나의 기능만을 구현해야 하는데, 하나의 메서드 이름으로 여러 기능을 구현하기 때문에 붙여진 이름이라고 생각할 수 있다. 4.2 오버로딩의 조건 더보기 1. 메서드 이름이 같아야 한다 2. 매개변수의 개수 또는 타입이 달라야 한다. 비록 메서드의 이름이 같다 .. 2022. 1. 8.