본문 바로가기

분류 전체보기

(197)
7장_1 1. 상속 - extends 키워드 사용 - 기존의 클래스로 새로운 클래스를 작성하는 것 = 두 클래스를 부모와 자식으로 관계를 맺어주는 것 - 자손은 조상의 모든 멤버를 상속받는다. (생성자, 초기화 블록 제외) - 자손의 멤버 개수는 조상보다 적을 수 없다. (최소 같거나 많음) - 자손의 변경은 조상에 영향을 미치지 않는다. 부모의 변경은 자손에 영향을 미친다. (깊은 관계가 있음) - 자바는 단일 상속만 허용한다. -> 두 개 이상의 클래스에서 같이 메서드가 존재할 경우 충돌의 문제가 있다. -> 이를 해결하기 위해 인터페이스 사용 🔎 상속과 포함 예제 // 상속 public class Main { public static void main(String[] args) { Circle c = new..
쓰레드 1. 프로세스와 쓰레드 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. ex) 이클립스를 실행하면 필요한 메모리를 할당받아 이클립스는 프로그램에서 프로세스가 된다. 프로세스 (공장) 실행 중인 프로그램 프로그램을 수행하는 데 필요한 데이터 + 메모리(자원) + 쓰레드 쓰레드 (일꾼) 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것 프로세스는 쓰레드로 이루어져 있다. 멀티 쓰레드 프로세스 둘 이상의 쓰레드를 가진 프로세스 (대부분의 프로세스는 멀티쓰레드로 이루어져 있음) 멀티 쓰레딩의 장점 - CPU 사용률 향상 - 자원을 효율적으로 사용 - 사용자에 대한 응답성 향상 - 작업이 분리되어 코드가 간결해짐 멀티 쓰레딩의 단점 - 여러 쓰레드가 같은 프로세스 내에서..
[프로그래머스 Java] 서울에서 김서방 찾기 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제 programmers.co.kr ⏱소요 시간 - 10분 🔑해결 방법 seoul[]을 돌면서 "Kim"이 존재하는 인덱스를 찾는 문제 String의 contains() 메서드를 사용하여 해결하였다. 🔎소스 코드 package step1; // 서울에서 김서방 찾기 public class Ex17 { public static void main(String[] args) { System.out.println(solution(ne..
다형성 / 동적 바인딩 / 인터페이스 / 추상클래스 다형성 다형성이란, 부모 타입으로 자식을 다루는 것을 말한다. 부모 타입으로 자식을 다룰 때, 부모 클래스의 결과가 실행되어야 한다고 생각되지만, 실제로는 자식 클래스의 결과가 실행된다. 이러한 현상을 동적 바인딩이라고 하는데, 동적 바인딩은 런타임 시점에 객체 타입을 기준으로 실행될 함수를 호출하는 것을 말한다. 컴파일 시점에서는 부모 타입을 참조하지만, 런타임 시점에는 객체 타입을 기준으로 호출하여 자식을 호출하는 것이다. 인터페이스 추상메서드(만 있는) 집합 껍데기 무조건 모두 public public abstract가 붙어야하는데 어차피 다 붙어서 편의상 떼버리고 쓰자! 추상클래스 추상메서드를 가지고 있는 클래스 일반 클래스처럼 인스턴스 변수, 메서드, 생성자 자유롭게 가질 수 있는데 추상메서드도..
리눅스 기본 명령어 r : 파일 읽기 w : 파일 쓰기 x : 파일 실행 pwd 현재 작업중인 디렉토리 정보 출력 cd 경로 이동 ls 디렉토리 목록 확인 ls -l 디렉토리 내용을 자세히 출력 ls -a 경로 안의 모든 파일과 디렉토리 (숨김 파일까지) cp 파일 혹은 디렉토리를 복사 mv 파일 혹은 디렉토리 이동 mkdir 디렉토리 생성 rm 파일이나 디렉토리 삭제 touch 파일의 용량이 0인 파일을 생성 파일이나 디렉토리의 최근 업데이트 일자를 현재 시간으로 변경 cat 파일의 내용을 화면에 출력하거나 파일을 만드는 명령 head 파일의 앞부분을 보고 싶은 줄 수 만큼 보여준다 tail 파일의 뒷부분을 보고 싶은 줄 수 만큼 보여준다 find 특정 파일이나 디렉토리를 검색한다 vi 편집기 기본 명령어 - 저장 및 종..
static은 언제 붙일까? static 변수 모든 인스턴스에 공통된 값을 유지해야하는 것이 있을 때 객체가 새로 생성되어도 불변의 값일 때 ex) 카드 예제에서 카드의 가로 세로 크기 고정 static 메서드 인스턴스 변수나 메서드를 절대 사용하지 않는 메서드에 붙임 즉, 지들끼리만 지지고 볶고 할 때 static 메서드 안에서만! 논다라고 생각해 밖은 전혀 신경쓰지마!! static은 static이랑만 논다!! (하지만 인스턴스 변수는 static을 막 갖다 쓰지)
[프로그래머스 Java] 문자열 다루기 기본 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이 programmers.co.kr ⏱소요 시간 - 1시간 🔑해결 방법 로직 짜는 건 진짜 금방 짰다. 10분 정도? 근데,,, return문 반환, 숫자가 들어왔는지 비교하는거에서 && 써놓고 계속 안된다 이러고 있었다 하.....^^ 공백 제거해준다고 trim()은 왜 썼으며 (어차피 if문에서 걸러질 텐데 제정신 아님ㅋㅋ) 현재 시각 새벽 네시.... 졸려서 정신 나간거라고 하자.........ㅎ 나는 아스키 코드를 이용해서 풀었는데 cha..
[프로그래머스 Java] 문자열 내림차순으로 배치하기 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr ⏱소요 시간 - 45분 🔑해결 방법 [백준 2908 Java] 문자열 뒤집기 - StringBuffer / StringBuilder StringBuffer 클래스를 이용하여 문자열을 뒤집을 수 있다. 문자열을 내림차순으로 배치하는 것이랑은 다르므로 주의!! StringBuffer().append(str) str 데이터를 현재 문자열 끝에 추가 StringBuffer().append(st.. dblee.tistory.com 이 방법으로..