*JAVA* 59

[java] 접근제한자

(+)public => 어디서든(같은패키지, 다른패키지 모두) 접근 가능하게 하고싶다. (#)protected => 같은 패키지면 무조건 무조건 접근가능~! 다른 패키지면 상속구조인 클래스에서만 접근가능하다! (~)default => 오로지 같은 패키지에서만 접근가능, 생략 가능 (-)private => 오직 해당 클래스 안에서만 접근 가능 => 위에서부터 아래로 내려갈수록 접근할 수 있는 범위가 좁아진다. => +,#,~,-: 클래스 다이어그램 표기방법.

*JAVA* 2021.10.25

[java] 전역변수/ 지역변수

필드 : 클래스를 구성하는 요소 중 하나!! 클래스 내부지만 메소드밖에 영역의 정의함! 어떠한 데이터를 저장하기 위한 역할(변수) 변수 구분 - 전역변수 : 클래스 영역에 바로 선언하는 변수!(public static) => 클래스내 어디서든 사용가능! - 지역변수 : 클래스 영역내의 특정한 구역({ }) => 메소드, for문 등등... for(int i = 0; 조건식; 증감식;) {} => 초기식에서 선언된 i도 지역변수 1. 전역변수 - 멤버 변수 (인스턴스변수, 필드) 생성시점 : new 키워드 사용하면 해당객체를 생성하는 순간 메모리영역에 할당! => heap영역! 소멸시점 : 객체가 소멸될 때 => 가비지컬렉터 - 클래스 변수 (static 변수) : static이라는 예약어가 붙은 변수! ..

*JAVA* 2021.10.25

[java] 캡슐화 - setter / getter 메소드

캡슐화과정을 통해 완벽한 클래스의 형태를 갖추게 하자! 캡슐화를 하지 않으면 : 외부로부터 직접접근이 가능하기 때문에 함부로 값이 변질되거나 조회를 막지 못하는 문제가 발생 정보보안 3요소 : 기밀성, 무결성, 가용성 => 캡슐화 작업 : 정보은닉 기술 중 하나! 데이터의 "접근제한"을 원칙으로 하여 외부로부터 직접 접근을 막자!!!!! 단, 대신에 간접적으로나마 처리(값 대입, 조회)를 할 수 있게끔 하자!!! => 메소드를 통해서 => 캡슐화 작업의 2단계 1. 값을 숨긴다. : public 대신 private 으로 접근제한자를 바꿔준다. 2. 간접적으로 값을 처리할 수 있는 메소드를 만든다. 필드가 보이지 않아서 오류 발생 => private으로 설정했기 때문 위와 같은 직접접근이 불가능함! 1 2..

*JAVA* 2021.10.25

211024

코드가 너무 너져분한거 같다.... 더 간략하게 할 순 없는걸까... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 public class Arrays { public void method1() { /*1번 문제 문자열을 입력 받아 문자 하나하나를 배열에 넣고 검색할 문자가 문자열에 몇 개 들어가 있는지 개수와 몇 번째 인덱스에 위치하는지 인덱스를 출력하세요. ex. 문자열 : application 문자 : i application에 i가 존재하는 위치(인덱스) : 4 8 i 개수 : 2*/ Scanner sc ..

[java] 객체(Object)

객체지향 프로그래밍 : 현실세계에서 독립적인 존재들(객체)간의 상호작용(행위)을 프로그래밍 언어를 통해 코드로 구현하는 것. 구현하고자 하는 프로그램 상의 객체(변수)를 만들기 위해서는(생성하기 위해서) => '클래스'라는 틀을 먼저 만들어야한다. 클래스란? 객체들의 속성(정보, 행위)들을 담아내는 그릇 또는 틀 같은 존재 Cat 클래스를 만들어보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class Cat { public String name; public String eyes; public String body; public String foot; public double weight; public void eat(int weight) { this.weigh..

*JAVA* 2021.10.24

[java] 배열복사(Array copy)

1. 얕은복사 : 배열의 주소값만을 복사 => 같은 객체를 참조 2. 깊은복사 : 동일한 새로운 배열을 하나 생성해서 실제 내부값까지 복사 => 서로 다른 객체를 참조 얕은 복사 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 // 얕은복사 public void method1() { int[] origin = {1, 2, 3, 4, 5}; System.out.println("--- 원본배열 출력 ---"); for(int i = 0; i

*JAVA* 2021.10.24

211023 Class 만들어보기

AhnSister 클래스 변수와 메소드 만들어보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 public class AhnSister { public String name; public String position; public int age; // 매겨변수에 먹을 나이 입력 public void eatAge(int age) { this.age += age; System.out.println(name + "가 " + this.age + "살 먹었습니다. ㅠㅠ" ); } // 좋아하는 프로그램 입력받아 출력 public void watchNetplix() { Scanner sc = new Scanner(System...

[java] 배열(Array)

변수는 값을 하나만 받는 반면에, 배열은 하나의 공간에 여러개의 값을 담을 수 있다. 단, '같은 자료형의 값들'이어야 한다. 정리를 하자면 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라 한다. => 배열의 각 index 자리에 실제 값이 담긴 index(같은 크기로 인덱스를 만듦!)는 "0"부터 시작한다. - 배열을 왜 써야 할까? 변수만 이용해서 프로그래밍을 한다면..? 0, 2, 3, 4, 5................... 값이 늘어날때마다 변수를 만들어서 기록하고싶을 때 노가다(?)수작업없이 좀더 용이하게 코딩을 할 수 있다. 1. 배열 선언 1) 자료형 배열명[]; ex. int arr[]; 2. 자료형[] 배열명; => 요방법을 주로 사용! ex. int[] arr; 2. ..

*JAVA* 2021.10.22

[java] 분기문 - continue

반복문 내에서만 사용 가능하며 반복문 실행 시 continue 아래 부분은 실행하지 않고 반복문 다시 실행 for문의 경우 증감식으로 이동, while(do~while)문의 경우 조건식으로 이동 전체 반복 중에 특정 조건을 만족하는 경우를 제외하고자 할 때 유용 (continue를 만나면 그뒤에 어떤 구문이 있던간에 실행하지 않고 pass 가장 가까운 반복문으로 올라가라는 것을 의미) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 p..

*JAVA* 2021.10.20

211020

// 1번. // 정수 두개와 연산자를 입력받고 입력된 연산자에 따라 알맞은 결과를 출력! // 단, 해당 프로그램은 연산자 입력에 "exit"라는 값이 입력될 때까지 무한 반복하며 // exit가 입력되면 "프로그램을 종료합니다."를 출력하고 종료합니다. // 또한 연산자가 나누기이면서 두 번째 정수가 0으로 들어오면 // "0으로 나눌 수 없습니다. 다시 입력해주세요."를 출력하며, // 없는 연산자가 들어올 시 "없는 연산자입니다. 다시 입력해주세요."라고 출력하고 // 두 경우 모두 처음으로 돌아가 사용자가 다시 연산자부터 입력하도록 하세요. // ex. // 연산자(+, -, *, /, %) : + // 정수 1 : 10 // 정수 2 : 4 // 10 + 4 = 14 // 연산자(+, -, *..