Cute Running Puppy
반응형

전체 글 124

4주차_11. 자바 제어자 2

final 제어자 final 변수 final 제어자는 변수를 선언할 때만 지정할 수 있다. 한 번 대입된 값을 수정할 수 없다. // 사용 예시 final int a = 1; // 수정 불가 final 메서드와 final 클래스 final 메서드: 메서드의 기능을 변경할 수 없는 메서드 메서드를 final로 정의하면 자식 클래스에서 해당 메서드를 오버 라이딩할 수 없다. 즉, final 클래스는 상속 받을 수 없다. abstract 제어자 abstract 메서드 == 추상 메서드 abstract 클래스 == 추상 클래스 => 추상 메서드 == 중괄호가 없는 메서드 - 기능 자체가 정의되어 있지 않다 (미완성 메서드) abstract 리턴_타입 메서드명 (); 주의! 추상 메서드를 1개 이상 포함하고 있는..

4주차_10. 클래스의 상속과 다형성

클래스의 상속의 개념과 문법적 특징 상속 다른 클래스의 멤버를 이어받는 기능 상속의 장점 1. 코드의 중복성 제거 2. 클래스의 다형적 표현이 가능 (다형성: 하나의 객체를 여러 가지 모양으로 표현할 수 있는 특성) 상속 문법 class 자식_클래스 extends 부모_클래스 { ... } 자바에서는 다중 상속은 불가능하다 (부모 클래스를 2개 이상 상속받는 것) -> 다중 상속을 허용한다면 모호성이 발생할 수 있기 때문 (상속 받는 클래스 안의 내용이 겹칠 때) 부모 클래스를 상속 받는 자식 클래스는 여러 개가 와도 된다. 생성자의 상속 여부 상속을 수행하면 부모의 모든 멤버를 내려 받는다. 여기서 멤버는 생성자를 제외한 필드, 메서드, 이너 클래스를 말한다. 생성자는 절대로 상속되어서는 안된다. (클..

[python]level1. 키패드 누르기

https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 정답 코드 def solution(numbers, hand): answer = '' key = [[1, 2, 3], [4, 5, 6], [7, 8, 9], ['*', 0, '#']] left = [1, 4, 7, '*'] right = [3, 6, 9,..

3주차_09. 자바 제어자1

접근 지정자 접근 지정자는 자바 제어자의 한 종류로, 클래스, 멤버, 생성자 앞에서 사용 범위를 정의하는 역할을 한다. 멤버 및 생성자의 접근 지정자 멤버, 생성자에 사용 가능한 접근 지정자 public, protected, default (package), private 접근 지정자는 필드나 메서드, 생성자 앞에 위치한다. 아무것도 작성하지 않으면 default 접근 지정자가 자동으로 설정된다. public > protected > default > private 순으로 접근 범위가 넓다. private 자신의 클래스 내부에서만 사용할 수 있는 접근 지정자 같은 멤버 끼리만 사용할 수 있으며, 외부 클래스에서는 사용할 수 없다. default 같은 패키지 안의 모든 클래스에서 사용할 수 있는 접근 지정..

3주차_08. 클래스 외부 구성 요소

패키지와 임포트 패키지 비슷한 목적으로 생성된 클래스 파일들을 한 곳에 모아둔 폴더 클래스명의 충돌을 방지하는 역할도 함 임포트 다른 패키지 내의 클래스를 사용하기 위한 문법 요소 다른 패키지의 클래스 사용방법 1. 클래스의 풀네임 사용 패키지명.클래스명 자신이 속해 있는 패키지 내의 클래스를 사용할 때에는 클래스명만 입력해도 된다. 2. 임포트 사용 import 패키지명.클래스명 한 번 패키지를 import 하면 이후에 클래스명만 사용해서 다른 패키지의 클래스를 사용할 수 있다. 외부 클래스 public 클래스의 외부에 추가로 정의한 클래스 1개의 자바 소스 파일에는 최대 1개의 public 클래스만 존재할 수 있다. 또한 그 클래스 명은 파일명과 일치해야 한다. 즉, 1개의 소스파일에서 public ..

3주차_07. 클래스 내부 구성 요소

필드 클래스에 선언된 변수 필드와 지역 변수 객체의 속성 값을 지정할 수 있는 변수 cf) 지역변수: 메소드에 포함된 변수 필드 지역 변수 선언 위치 클래스 중괄호 안 메서드 중괄호 안 생성되는 메모리 위치 힙 메모리의 객체 재부 스택 메모리 초기화 초기화 하지 않아도 강제 초기화 직접 초기화 필수 Class APPLE { int a = 3 // 필드 void eat() { int b = 4; // 지역 변수 } } 메서드 클래스의 기능 자바_제어자 리턴_타입 메서드명(입력매개변수) { 메서드 내용; } public static int sum (int a, int b) { return a + b; } 여러 리턴 타입의 메서드 //리턴타입: void, 입력매개변수: 없음 void print() { Syst..

2주차_06. 클래스와 객체

클래스의 구조 class 클래스명 { ... } //클래스명은 대문자로 적기! //클래스 밖에 올 수 있는 것들 package ...; import ...; class 클래스명 {...}; //클래스 안에 올 수 있는 것들 public class 클래스명 { //클래스명은 파일명과 동일해야 함 int a; // 필드 double b(); // 메서드 a() {...} // 생성자 class 클래스명 {...} // 이너 클래스 } 클래스의 외부 구성요소 패키지 임포트 다른 패키지의 클래스를 사용하고 싶을 때 사용하는 요소 외부 클래스 클래스 외부에 또 다른 클래스가 포함될 수 있다 1개의 .java 파일에 여러 개의 클래스가 포함될 수 있다. 단, 외부 클래스는 public 키워드를 사용할 수 없다. 클..

2주차_05. 참조 자료형 2

String 자바가 제공하는 클래스 중 문자열을 저장하는 클래스 문자열의 표현과 객체 생성 방법 1 String 참조_변수명 = new String("문자열"); 방법2 String 참조_변수명 = "문자열"; String str = new String("hello"); String str2 = "hi"; String 클래스의 특징 객체 안의 값을 변경하면 새로운 객체를 생성 String 객체는 내부에 포함된 문자열을 변경할 수 없다. 리터럴을 바로 입력한 데이터는 문자열이 같을 때 하나의 객체를 공유 문자열 리터럴만 입력하여 String 객체를 생성하면 하나의 문자열을 여러 객체들이 공유할 수 있다. new를 사용하여 String 객체를 생성하면 동일한 문자열 객체가 있든 없든, 무조건 새롭게 객체를 ..

2주차_05. 참조 자료형 1

8개의 기본 자료형 외의 모든 자료형은 참조 자료형 대표적으로 배열, 클래스, 인터페이스 등이 있다. 배열 동일한 자료형을 묶어서 저장하는 참조 자료형 특징 1. 생성할 때 크기를 지정해야 한다. 2. 한 번 크기를 지정하면 절대 변경할 수 없다. 배열 생성하기 배열 선언하기 첫 번째 방법 자료형[] 변수명; 두 번째 방법 자료형 변수명[]; //첫번째 방법 int[] arr; //두번째 방법 int arr[]; 힙 메모리에 배열의 객체 생성하기 힙 메모리에 객체를 생성하기 위해서는 new 키워드를 사용해야 한다. new 자료형 [배열의_길이]; //배열의 객체 생성하기 new int [3]; // 3칸짜리 배열 생성 배열의 크기를 지정하지 않으면 오류가 난다. 배열 자료형 변수에 객체 대입하기 첫번째 ..

2주차_04. 제어문과 제어 키워드

제어문 프로그램의 처리 순서를 의도적으로 바꿀 때 사용하는 코드 if 문 조건식의 참 거짓을 판단하여 실행 여부를 결정 if (조건문) { 실행구문; } else if (조건문) { 실행구문; } else { 실행구문; } if (a>5) System.out.println("5 초과"); else Systme.out.println("5 이하"); switch 문 변수의 값에 따라 실행문을 선택 switch (변수) { case 값1: 실행문A; break; case 값2: 실행문 B; break; default: 실행문 C; switch (a) { case 1: // a == 1 일 때 System.out.println("1"); case 2: // a == 2 일 때 System.out.println(..

[android studio 오류 해결] The emulator process for AVD Pixel_2_API_30 has terminated 오류 해결 방법

안드로이드 스튜디오에서 에뮬레이터를 실행하니 The emulator process for AVD Pixel_2_API_30 has terminated 라는 오류가 지속적으로 나타났다. 안드로이드 버전을 변경해도, 가상 기기를 변경해도 오류가 고쳐지지 않았다. 두세 번 안드로이드 스튜디오를 완전 삭제하고 재 설치했음에도 오류를 해결할 수 없었다. 인터넷 검색 결과 다른 분들은 에뮬레이터가 실행되지 않을 때 오류 메시지로 The emulator process for ... was killed 가 뜨던데 내 컴퓨터에서는 has terminated라는 오류가 떴다. 혹시 몰라 was killed 오류가 발생했을 때 수정해야 할 것들도 다 해봤는데... 역시나 오류가 수정되지 않았다. 여러 해결책을 찾아보다 안드..

mobile/android 2022.01.24

1주차_03. 연산자

연산자 연산식은 반드시 하나의 값을 산출함 그렇기에 하나의 값이 올 수 있는 곳에는 어디든 연산식을 사용할 수 있음 int x = 3, y = 4; int res = x + y; // res = 7 boolean res = (x + y) > 5; // res = TRUE 연산의 방향과 우선순위 단항, 이항, 삼항 연산자 순서로 우선순위를 가짐 산술, 비교, 논리, 대입 연산자 순서로 우선순위를 가짐 단상, 부호, 대입 연산자를 제외산 모든 연산의 방향은 왼쪽에서 오른쪽 복잡한 연산식에서는 괄호를 사용하는 것이 좋음 단항 연산자 부호 연산자 +, - 증감 연산자 ++, -- boolean 타입을 제외한 모든 기본 타입의 피연산자에 사용 가능 증감 연산자는 위치에 따라 처리 순서가 바뀌니 사용에 유의해야 함..

1주차_02. 자료형

변수 선언 변수에 저장할 데이터의 타입과 이름을 결정하는 것 자료형 변수이름; //사용 예시 int age; float avr; int a, b, c; //여러개를 한번에 선언 가능 변수 이름 작성 규칙 첫 글자는 문자이거나, $, _ 이어야 한다. 숫자로 시작할 수 없다 대소문자를 구분한다 첫 문자는 소문자로 작성하되, 다음 단어부터는 첫 글자를 대문자로 작성한다 문자수의 길이가 없다 자바 예약어는 사용할 수 없다 값 저장 방법 대입 연산자(=)를 사용하여 변수에 값을 대입 변수를 사용하기 전 반드시 초기화 변수 사용 범위 로컬 변수 메소드 블록 내에서 선언된 변수로 메소드 블록 내부에서만 사용 가능하다 자바에서 변수는 어디에서든 선언할 수 있지만 변수가 속한 블록 안에서만 사용 가능하다 public ..

[혼공 학습단 6기] 혼자 공부하는 자바_나만의 혼공 노트 공유하기

#혼공챌린지 #혼종자 #혼공단 방학 동안 혼공 챌린지에 참여하며 자바를 공부했던 노트들을 공유합니다. 그동안 작성하여 업로드했던 필기 포스팅은 챌린지 미션과 함께 제출했기에 이전까지 업로드했던 미션도 함께 업로드하겠습니다. 혼공 챌린지 덕분에 무의미하게 보내기 쉬운 여름 방학을 의미있게 보낼 수 있었습니다. 다음에 또 참여할 수 있는 기회가 생긴다면 또 참여하고 싶다는 생각이 들 정도로 의미 있는 활동이었습니다. 감사합니다. 아래 링크는 제가 혼공챌린지에 참여하며 자바를 공부한 뒤 정리한 글들입니다. [Language/Java] - [#혼공챌린지] 혼자 공부하는 자바_1주차 기본미션 [#혼공챌린지] 혼자 공부하는 자바_1주차 기본미션 #혼공단 #혼공챌린지 #혼공자 https://hongong.hanbit..

[#혼공챌린지] 혼자 공부하는 자바_6주차 선택미션

#혼공단 #혼공챌린지 #혼공자 https://hongong.hanbit.co.kr/%ed%98%bc%ea%b3%b5-%ea%b2%8c%ec%8b%9c%ed%8c%90/?uid=27&mod=document&pageid=1 [#혼공챌린지] 혼공 학습단 6기 도서별 미션과 커리큘럼 안녕하세요, 한빛미디어 혼공단을 운영하는 🧙🏻‍♀️혼공족장🧙🏻‍♀️입니다. #혼공챌린지 혼공학습단 6기와 "혼자 공부하는"시리즈에 관심을 주셔서 감사합니다 🥳 딱 6주만 같이 때 hongong.hanbit.co.kr 혼공 챌린지_자바 6주차 선택 미션 p.632 문제 2번 풀이 인증샷 문제 FileReader와 BufferedReader 를 이용하여 source.txt 내용을 읽고, 각 라인 번호를 추가해 모니터로 출력하는 프로그램..

[#혼공챌린지] 혼자 공부하는 자바_6주차 기본미션

https://hongong.hanbit.co.kr/%ed%98%bc%ea%b3%b5-%ea%b2%8c%ec%8b%9c%ed%8c%90/?uid=27&mod=document&pageid=1 [#혼공챌린지] 혼공 학습단 6기 도서별 미션과 커리큘럼 안녕하세요, 한빛미디어 혼공단을 운영하는 🧙🏻‍♀️혼공족장🧙🏻‍♀️입니다. #혼공챌린지 혼공학습단 6기와 "혼자 공부하는"시리즈에 관심을 주셔서 감사합니다 🥳 딱 6주만 같이 때 hongong.hanbit.co.kr #혼공단 #혼공챌린지 #혼공자 혼공 챌린지_자바 6주차 기본 미션 chapter 14. 입출력 스트림 요약정리 포스팅 입출력 스트림의 종류 바이트 기반 문자 기반 그림, 멀티미디어 등 바이너리 데이터를 읽고 출력할 때 문자 데이터를 읽고 출력할 때 ..

[#혼공챌린지] 혼자 공부하는 자바_5주차 선택미션

#혼공단 #혼공챌린지 #혼공자 https://hongong.hanbit.co.kr/%ed%98%bc%ea%b3%b5-%ea%b2%8c%ec%8b%9c%ed%8c%90/?uid=27&mod=document&pageid=1 [#혼공챌린지] 혼공 학습단 6기 도서별 미션과 커리큘럼 안녕하세요, 한빛미디어 혼공단을 운영하는 🧙🏻‍♀️혼공족장🧙🏻‍♀️입니다. #혼공챌린지 혼공학습단 6기와 "혼자 공부하는"시리즈에 관심을 주셔서 감사합니다 🥳 딱 6주만 같이 때 hongong.hanbit.co.kr 혼공 챌린지_자바 5주차 선택 미션 p.573 [직접 해보는 손코딩] 코딩 과정 및 실행 결과 인증샷 이름을 키로 점수를 값으로 저장하기 package sec01.exam06; import java.util.HashMa..

[#혼공챌린지] 혼자 공부하는 자바_5주차 기본미션

#혼공단 #혼공챌린지 #혼공자 https://hongong.hanbit.co.kr/%ed%98%bc%ea%b3%b5-%ea%b2%8c%ec%8b%9c%ed%8c%90/?uid=27&mod=document&pageid=1 [#혼공챌린지] 혼공 학습단 6기 도서별 미션과 커리큘럼 안녕하세요, 한빛미디어 혼공단을 운영하는 🧙🏻‍♀️혼공족장🧙🏻‍♀️입니다. #혼공챌린지 혼공학습단 6기와 "혼자 공부하는"시리즈에 관심을 주셔서 감사합니다 🥳 딱 6주만 같이 때 hongong.hanbit.co.kr 혼공 챌린지_자바 5주차 기본 미션 chapter 13. 직접 정리한 키워드 정리 공유 13-1. 컬렉션 프레임 워크 컬렉션 프레임 워크 널리 알려진 자료구조를 활용하여 객체들을 효율적으로 활용할 수 있도록 인터페이스와..

[python] 백준 2908_상수

https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net a, b = list(input().split()) new_a = [] new_b = [] for i in a: new_a.insert(0, i) for i in b: new_b.insert(0, i) new_a = ''.join(new_a) new_b = ''.join(new_b) print(max(new_a, new_b))

[python] 백준 1152_단어의 개수

https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 정답 코드 s = input().split(' ') cnt = len(s) if (s[0] == ''): cnt -= 1 if (s[len(s) - 1] == ''): cnt -= 1 print(cnt) 예제 출력 문자열 맨 앞과 뒤에 공백이 있음에 주의해야 한다.