- [ 정리/Java ]자바의 정석 70~72강 상속, 클래스 간의 관계, 상속과 포함, 단일 상속, Object 클래스2023-08-04 14:09:53ch 7-1~2 상속 기존의 클래스로 새로운 클래스를 작성(코드의 재사용) 두 클래스를 부모와 자식으로 관게를 맺어주는 것 자손은 조상의 모든 멤버를 상속받는다(생성자, 초기화블럭 제외) 자손의 멤버 개수는 조상보다 적을 수 없다(같거나 많음) 자손의 변경은 조상에 영향을 미치지 않음 class 부모 { int age; } class 자식 extends 부모 { void play() { System.out.println("paly"); } } ch 7-3~4 클래스 간의 관계, 상속과 포함 1. 포함 관계 composite 클래스의 멤버로 참조변수 선언 작은 단위의 클래스를 만들고 조합하여 클래스 만듦 class Point { int x; int y; } // point를 포함하고 있음 // c.r, c..
- [ 정리/Java ]자바의 정석 65~69강 static&인스턴스 메서드, 오버로딩, 생성자, this(), 변수 초기화2023-08-04 04:31:22ch 6-26~29 static 메서드와 인스턴스 메서드 https://youtu.be/Fl4TzjPKAMU 인스턴스 변수 사용여부가 인스턴스/static 메서드 차이 1. 인스턴스 메서드 인스턴스 생성 후 참조변수.메서드이름() 으로 호출 인스턴스 멤버와 관련된 작업을 하는 메서드 메서드 내에서 인스턴스 변수 사용가능 2. static 메서드(클래스 메서드) 객체 생성 없이 클래스이름.메서드이름() 으로 호출 Math.random(), Math.round() 인스턴스 멤버와 관련 없는 작업을 하는 메서드 메서드 내에서 인스턴스 변수 사용 불가 class MyMath { // 인스턴스 변수 iv long a, b; // 인스턴스 메서드 // iv 사용 매개변수가 없음 long add() { return ..
- [ 정리/Java ]자바의 정석 61~64강 return문, 반환값, 호출스택, 기본형매개변수, 참조형 매개변수, 참조형 반환타입2023-08-03 15:35:08ch 6-20~21 return문 반환값 1. return문 실행 중인 메서드를 종료하고 호출한 곳으로 되돌아감 반환타입이 void면 생략 가능(컴파일러가 자동으로 추가해 줌) 반환타입이 void가 아니면 반드시 필요, 참/거짓일 때 모두 return값이 있어야 함 // 참일 때만 return문 실행되므로 에러 발생 int max(int a, int b){ if(a > b) return a; } 2. 반환값 반환타입과 반환값은 일치하거나 자동형변환 가능한 타입이어야 함(int일 경우 char, byte, short) ch 6-22 호출스택 1. 스택 밑이 막힌 상자처럼 위에 차곡차곡 쌓이고 꺼낼 땐 위부터 꺼내짐 2. 호출 스택 call stack 메서드 수행에 필요한 메모리가 제공되는 공간 호출되면 호..
- [ 참고/Mac ][Mac] 자바 버전 변경하기2023-07-31 09:20:33버전을 쉽게 변경할 수 있는 방법이 있나 구글링 하다 아주 간단한 방법을 찾았다 내 버전 확인하고 링크 따라서 설정만 해주면 끝! 간단한 명령어로 한 번에 버전 변경이 가능하다~ source ~/.bash_profile // 11버전으로 변경 setJava11 // 17버전으로 변경 setJava17 출처https://miro7923.github.io/java/set-java-version/ ## 설치된 자바 버전 모두 확인 /usr/libexec/java_home -V
- [ 참고/Mac ][Mac] 자바(JDK)삭제2023-07-31 03:52:06##해당 디렉토리 이동 cd /Library/Java/JavaVirtualMachines/ ##자바 목록 확인 ls ##지우고 싶은 JDK삭제 sudo rm -rf JDK이름 ##맥북 비밀번호 입력 ##삭제 확인 ls
- [ 정리/Java ]자바의 정석 56~60강 클래스의 정의, 변수 종류, 클래스/인스턴스 변수, 메서드2023-07-30 17:49:48ch 6-9~10 클래스 정의 1. 클래스 설계도 데이터+함수 사용자 정의타입 변수 : 하나의 데이터를 저장할 수 있는 공간 배열 : 같은 종류의 데이터를 묶어서 저장할 수 있는 공간 구조체 : 서로 연관된 데이터(다른 종류)를 묶어서 저장할 수 있는 공간 클래스 : 데이터와 함수의 결합(구조체 + 함수) 2. 사용자 정의타입 원하는 타입을 직접 만들 수 있음 // 시간이라는 데이터를 다루기 위한 변수 int hour; int minute; int second; // 여러 시간을 다룰때 배열을 사용하게 된다면? int[] hour = new int[3]; int[] minute = new int[3]; int[] second = new int[3]; // 시분초 데이터를 사용하기 위해선 배열을 다뤄 시분..
- [ 정리/Java ]자바의 정석 51~55강 객체지향 언어, 클래스와 객체, 객체 생성과 사용, 객체 배열2023-07-30 16:20:35ch 6-1 객체지향 언어 자바의 정석 p230~ 코드의 재사용성↑, 유지보수 용이, 중복코드 제거 객체지향 언어 = 프로그래밍 언어 + 객체지향개념 캡슐화, 상속, 추상화, 다형성 특징이 있음 ch 6-2~4 클래스와 객체 1. 클래스 클래스란 객체를 정의해 놓은 것 클래스는 객체를 생성하는 데 사용 2. 객체 실제로 존재하는 것, 사물 또는 개념 객체가 가지고 있는 기능과 속성에 따라 용도가 달라짐 3. 객체의 구성 요소 객체 = 속성(변수) + 기능(메서드) 4. 객체와 인스턴스 객체 : 모든 인스턴스를 대표하는 용어 인스턴스 : 특정 클래스로부터 생성된 객체 클래스 →인스턴스화→ 인스턴스(객체) ch 6-5 한 파일 여러 클래스 작성하기 1. 클래스명 public class와 소스파일의 이름은 반..
- [ 정리/Java ]자바의 정석 49~50강 String 클래스, Arrays로 배열 다루기2023-07-30 08:59:17ch5-14~15 String 클래스 1. String Class char[] + 메서드 결합한 것 내용을 변경할 수 없고 읽기만 가능 메서드 설명 char charAt(int index) 문자열에서 해당 index의 문자 반환(index는 0부터 시작) int length() 문자열 길이 반환 String substring(int from, int to) 문자열에서 from~to까지 문자열 반환(to포함X), to 미입력시 from에서 끝까지 반환 boolean equals(Object obj) 문자열의 내용이 같은지 확인 char[] toCharArray() 문자열을 문자배열char[]로 변환해서 반환 ch5-24 Array로 배열 다루기 분류 메서드 설명 배열 출력 toString() 배열 출력 d..
- [ 정리/Java ]자바의 정석 47~48강 2차원 배열2023-07-30 08:47:07ch5-18~20 2차원 배열 1. 2차원 배열 테이블 형태의 데이터를 저장하기 위한 배열 // 4행 3열의 2차원 배열 생성 int[][] score = new int[4][3]; // 2차원 배열 초기화 2가지 방법 int[][] arr = new int[][]{ {1, 2, 3}, {4, 5, 6} }; int[][] arr = { {1, 2, 3}, {4, 5, 6} }; // 가독성 좋게 작성 int[][] arr = { {1, 2, 3}, {4, 5, 6} }; 2. 3차원 배열 2차원 배열이 여러 개 모인 배열 ch5-21~23 2차원 배열 예제 public static void main(String[] args) { int[][] score = { { 100, 100, 100 } , { 2..
- [ 정리/Java ]자바의 정석 46강 커맨드 라인을 통해 입력받기2023-07-29 23:32:35ch5-16~17 커맨드라인 입력 받기 1. 커맨드 라인을 통해 입력 받기 커맨드 라인에 입력한 값이 문자열 배열에 담겨서 전달됨 // 커맨드라인에서 입력 c:\jdk1.8\work\ch5>java Ex5_7 abc 123 "Hello world" // 매개변수 3개를 받아 배열에 넣어 전달 args[0] = "abc" args[1] = "123" args[2] = "Hello world" // Ex5_7 클래스의 메인메서드는 매개변수로 전달받은 문자열 배열을 사용 가능 class Ex5_7 { public static void main(String[] args) { System.out.println("매개변수의 개수:"+args.length); // 3개 for(int i=0;i< args.length..
- [ 정리/Java ]자바의 정석 40~42강 배열2023-07-29 20:47:36ch5-1~3 배열의 생성과 선언, 배열의 인덱스 1. 배열 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 저장공간이 연속적 int score1, score2, score3, score4, score5; // 배열로 묶어서 다룸 int[] score = new int[5]; 2. 배열의 선언 선언 : 배열을 다루기 위한 참조변수의 선언 생성 : 저장공간이 만들어짐 // 배열의 참조변수 선언 타입[] 변수이름; // 배열의 생성-실제 저장공간 생성 변수이름 = new 타입[길이]; // 배열의 생성과 선언을 동시에 타입[] 변수이름 = new 타입[길이]; 3. 배열의 인덱스 각 요소에 자동으로 붙은 번호 배열의 범위는 0부터 배열 길이 -1까지 ch5-4~5 배열의 길이, 배열의 초기화 1. 배열의..
- [ 참고/개발환경 및 오류 ]이클립스 워크스페이스 삭제2023-07-29 16:05:38Window → Preferences → General → Startup and Shutdown → Workspaces 삭제할 항목 선택 → Remove → Apply → Apply and Close