본문 바로가기

전체 글238

[자바의 정석] ch7-12 ~ ch7-20 객체지향 개념 정리 (패키지, import문, 제어자, abstract ) ch7-12 패키지(package) - 서로 관련된 클래스의 묶음 - 클래스는 클래스 파일(*.class), 패키지는 폴더. 하위 패키지는 하위 폴더 - 클래스의 실제 이름(full name)은 패키지를 포함.(java.lang.String) rt.jar는 클래스들을 압축한 파일(JDK설치경로\jre\lib에 위치) -> Java9 부터는 없고 module 개념으로 변경 -jar는 zip 과 같음 ch7-13 패키지의 선언 - 패키지는 소스파일의 첫 번째 문장으로 단 한번 선언 - 같은 소스 파일의 클래스들은 모두 같은 패키지에 속하게 됨 - 패키지 선언이 없으면 이름없는(unnamed) 패키지에 속하게 됨 (eclipse 에서는 default package) *bin 폴더 - 컴파일된 클래스 파일(*... 2021. 7. 22.
[백준 알고리즘] 2739번: 별찍기 -2 (Java: for문) - 미완성 별찍기 - 1: https://create-something-from-nothing.tistory.com/24?category=946163 [백준 알고리즘] 2438번: 별찍기 -1 (Java: for문) [문제] 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 [간략한 풀이] - N번째 줄에 N개 만큼 별을 찍어야하니까 Scanner 로 입력 받음 - for문 돌리고 N 길이만큼 반복 - 마지 create-something-from-nothing.tistory.com 1번은 쉽게 풀었는데... 2번이 안풀린다. 기본적인 for문에서부터 헤매고 있다니.. * ** *** **** ***** 이번 문제는 위와 같이 별을 찍는건데 공백을 같이 찍어주는 부분에서 해결이 되지 .. 2021. 7. 22.
[자바의 정석] ch7-1 ~ ch7-11 객체지향 개념 정리 (상속, Object클래스, 오버라이딩, 참조변수 super, 생성자super() ) ch7-1 상속(Inheritance) - 기존의 클래스로 새로운 클래스를 작성하는 것(코드의 재사용) - 두 클래스를 부모와 자식으로 관계 맺어주는 것 - 자손은 조상(부모의 부모)의 모든 멤버를 상속받음(생성자, 초기화 블럭 제외) - 자손의 멤버 개수는 조상보다 적을 수 없음(같거나 많음) -> 자손의 멤버개수 >= 조상의 멤버 개수 - 자손의 변경은 조상에 영향을 미치지 않음(단, 조상의 변경은 자손에게 영향을 줌) ex) class 자식클래스 extends 부모클래스 { } ch7-3 포함 관계 - 포함(composite) : 클래스의 멤버로 참조변수를 선언하는 것 class Circle { int x; class Circle{ class Point { int y; -----> Point c =.. 2021. 7. 19.
[백준 알고리즘] 11022번: A+B - 8 (Java: for문) https://create-something-from-nothing.tistory.com/39 와 비슷한 문제 [문제] [제출한 코드] 혹은 위에 사용하지 않은 BufferedWriter 를 사용해서 아래와 같이 코드를 변경해도 된다. 2021. 7. 18.
[백준 알고리즘] 11021번: A+B - 7 (Java: for문) [문제] 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. [간략한 풀이] 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) [알고리즘 분류] 수학, 구현, 사칙연산 [제출한 코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for(int i = 1; i 아래 오답들에 이유가 .. 2021. 7. 18.
[백준 알고리즘] 15552번: 빠른 A+B (Java: for문) [문제] 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다. Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다. BufferedWriter.flush는 맨 마지막에 한 번만 하면 된다... 2021. 7. 17.