분류 전체보기

Java

[JAVA] 6-2. 객체 지향 언어, 캡슐화, 추상화, 생성자

목차 캡슐화 추상화 생성자 1. 캡슐화(encapsulation) 클래스 작성할 때 특별한 경우가 아닌 이상 지켜야 하는 기본 원칙이다. 필드로의 직접 접근을 제한하고, public 메소드를 이용해 간접 접근하도록 만든 기술이다. 달리 말하면 데이터를 은닉하는 것이 된다. 캡슐화는 결합도를 낮춘다. 예를 들어 필드명을 바꾸거나 했을 때 이를 사용한 다른 클래스에서 영향을 받지 않게끔 만든다. 한 클래스의 변경이 다른 클래스에 미치는 영향이 극히 낮다는 의미이다. 1-1. 접근제한자 정의 접근제한자란, 참조연산자(.)를 가지고 접근할 때에 클래스나 클래스의 멤버(필드, 메소드)에 접근할 수 있는 범위를 제한하는 키워드이다. 구분 해당 클래스 내 같은 패키지 내 후손 클래스 내 전체 + public O O ..

Java

[JAVA] 6-1. 클래스, 사용자 정의 자료형

목차 클래스 사용 이유 사용자 정의 자료형 사용 1. 클래스 사용 이유 앞서 데이터를 저장하는 방법으로 배운 변수와 배열은 다음과 같은 특징이 있다: 예컨대 변수는 하나의 공간에 하나의 값을 저장한다. 배열은 같은 자료형의 값만을 취급할 수 있다. 이는 곧 데이터 관리 측면에서 단점을 낳기도 한다. 관리해야 하는 대상이 늘어날수록 사용자(개발자)가 변수명을 일일이 알고 다뤄야 한다는 번거로움이 따른다. 메소드 호출 시 전달인자가 그만큼 많아져 단번에 파악하기 어렵게 된다. 또한, 메소드에서 return;은 1개의 값만을 보낼 수 있기에 필요로 하는 정보 타입만큼의 메소드를 하나하나 만들어 리턴값을 배부해야 하기에 비효율적이다. 이 같은 이유에서 서로 다른 자료형 데이터를 사용자 정의의 새로운 타입으로 정..

Java

[자바/수업 Quiz] 배열

Quiz 1. 크기가 5인 int형 배열에 for문 활용해 10~14 정수로 초기화하기 index 값이 0부터 시작하는 것을 활용해서 출력한다. package com.reminder.array_quiz; public class ArrayQuiz01 { public static void main(String[] args) { int[] arr = new int[5]; for(int i=0; i < arr.length; i++) { arr[i] = 10 + i; System.out.println(arr[i]); } } } 10 11 12 13 14 Quiz 2. 2차원 배열과 for문으로 2단~9단 구구단 출력하기 문제 조건에 따라 i, j 둘 다 0부터 시작하되 곱하는 값에서 2단부터 +2, 숫자 1부터 ..

Java

[JAVA] 5-2. 배열의 복사 및 정렬

목차 배열의 복사 1-1. 얕은 복사 1-2. 깊은 복사 1-3. 향상된 for문 배열의 정렬 2-1. 순차정렬 2-2. Arrays.sort() 사용 1. 배열 복사 1-1. 얕은 복사(shallow copy) stack 영역에서 레퍼런스 변수간에 배열 주소값 복사만 발생한 경우를 말한다. 같은 주소값을 참조하는 레퍼런스 변수가 하나 더 생겼을 뿐이다. int[] originArr = {1, 2, 3, 4, 5}; int[] copyArr = originArr; stack heap static originArr (주소값 0x123) copyArr (주소값 0x123) {1, 2, 3, 4, 5} (주소값 0x123) 레퍼런스 주소값 확인을 통해 원본과 복사본이 동일한 주소를 가지고 있음을 알 수 있다...

Java

[JAVA/수업 과제 practice] 배열 | 다차원 배열 Lv. 1~2

✅ 답안과 비교하여 스스로 코드 개선점 짚어보기 완료(2022.01.02) 1. 배열 BASIC1. ✅ 값 대입하는 for문 하나, 출력하는 for문 하나 따로 쓴다. int value라는 별도 변수를 선언하지 않고 arr[i] = i + 1; 처럼 식을 세울 수 있다. int[] iarr = new int[10]; /* 선언 및 할당 */ for(int i=0; i < iarr.length; i++) { iarr[i] = i+1; } /* 출력 */ for(int i=0; i < iarr.length; i++) { System.out.print(iarr[i] + " "); } package com.greedy.section01.array.level01.basic; public class Applicat..

Java

[JAVA] 5-1. 배열의 선언, 할당, 초기화

목차 배열 사용 이유 배열의 저장 구조(hashCode, length) 1차원 배열 3-1. 배열 선언 3-2. 배열 할당(배열 재할당, 배열의 회수) 3-3. 배열 초기화 다차원 배열 4-1. 2차원 배열 선언 4-2. 2차원 배열 할당(정변배열, 가변배열) 4-3. 2차원 배열 초기화 배열 예제 1. 배열 사용 이유 배열(array)은 같은 자료형의 변수들을 하나의 묶음으로 다루는 것이다. 배열은 저장된 값마다 index 번호가 부여된다. 즉, 연속된 메모리 공간에 값을 저장하고 이를 불러와 사용할 수 있는 것이다. 1-1. 연속된 메모리 공간으로 관리할 수 있다. 각각의 변수는 값을 1개씩만 담을 수 있다. 사용자(개발자)가 모든 변수의 이름을 알아야만 한다. int var1 = 3; int var..

Java

[자바의 정석] Ch 4. 제어문 예제 응용 학습

🧩 학습 단원 : 제어문(Control Flow Statement) 📚 학습 도서 : (남궁 성 저) ✅ 제어문 예제 응용 학습 완료(2021.12.26) 조건문 if, swith 응용A. 학점에 +, -, 0 연산기호 붙여서 출력하기 package com.reminder.exercises; import java.util.Scanner; public class Ex15_145 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("점수를 입력해 주세요. > "); int score = scanner.nextInt(); char grade = ' '; char opt = ' ';..

Java

[JAVA/수업 과제] 반복문, 분기문 practice

✅ 답안과 비교하여 스스로 코드 개선점 짚어보기 완료(2021.12.30) ADVANCED2. ✅ package com.greedy.section02.looping_and_branching.level04.advanced; import java.util.Scanner; public class Application2 { public static void main(String[] args) { /* 받은 금액을 입력 받고, 상품 가격을 입력 받아 거스름돈을 계산하는 프로그램을 작성하세요 * * 단, 거스름돈은 대한민국 화폐 단위 별 필요 수량이 출력되도록 작성하고, * 지폐외 동전을 구분하여 단위를 표기하세요 * * -- 입력 예시 -- * 받으신 금액을 입력하세요 : 100000 * 상품 가격을 입력하세요 ..

Java

[자바의 정석] Ch 4. 제어문 연습문제 풀이

🧩 학습 단원 : 제어문(Control Flow Statement) 📚 학습 도서 : (남궁 성 저) ✅ 오답 정리 완료(2021.12.25) [4-1] 조건식으로 표현하라. ❎✅ 1. int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식 10

Java

[자바의 정석] Ch 3. 연산자 예제 응용 학습

🧩 학습 단원 : 연산자(operator) 📚 학습 도서 : (남궁 성 저) ✅ 연산자 예제 응용 학습 완료(2021.12.25) 응용A. package com.reminder.exercises; public class Ex10_95 { public static void main(String[] args) { /* println()에게 대입되는 순서 차이 */ int i = 3, j = 3; System.out.println(i++); System.out.println(++j); System.out.println("i = " + i + ", j = " + j); /* 부호 연산자 */ int k = -5; k = -k; System.out.println(k); } } 3 4 i = 4, j = 4 5 응..

@reminder
'분류 전체보기' 카테고리의 글 목록 (14 Page)