본문 바로가기

Programming language/Java

(30)
[JAVA] 제어자 클래스와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미 부여 접근 제어자 : public, protected, (default), private 메서드 오버라이딩 접근 제어자 private - 같은 클래스 내에서만 접근이 가능하다. (default) - 같은 패키지 내에서만 접근이 가능하다. protected - 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근이 가능하다. public - 접근 제한이 전혀 없다. 참고 클래스 앞에는 public, (default)만 가능 멤버(변수, 메서드)에는 접근제어자 4개 다 가능(사용할 때는 4개 중 1개만 사용 가능 - 처음에도 언급함)
[JAVA] static 메서드와 인스턴스 메서드 인스턴스 매서스 인스턴스 생성 후, 참조변수.메서드이름()으로 호출 인스턴스 멤버(iv. im)와 관련된 작업을 하는 메서드 메서드 내에서 인스턴스 변수(iv) 사용가능 -> iv 필요 -> 객체 필요 static 메서드(클래스메서드) - static 메서드를 클래스 메서드라고도 부른다. 객체생성 없이 클래스이름.메서드이름()으로 호출 // Math.round(), Math.random() 인스턴스 멤버(iv, im)와 관련없는 작업을 하는 메서드 메서드 내에서 인스턴스 변수(iv) 사용불가 -> iv 필요 x -> 객체 필요 x static은 언제 붙여야 할까? 변수 - 속성(멤버 변수) 중에서 공통 속성에 static을 붙인다. 메서드 - 인스턴스 멤버(iv, im)을 사용하지 않는 메서드에 stat..
[JAVA] 클래스 변수와 인스턴스 변수 클래스는 클래스 영역과 메서드 영역으로 나뉜다. 클래스 영역에는 인스턴스 변수(iv)와 클래스 변수(cv)가 있다.(클래스 변수는 인스턴스 변수에 static을 붙인 것이다.) 메서드 영역에는 지역 변수가 있다.(메서드는 클래스 영역에서만 정의할 수 있다.) cv 생성 시기 : 클래스가 메모리에 올라갈 때(객체 생성x) iv 생성 시기 : 인스턴스가 생성되었을 때(객체 생성o ) lv 생성 시기 : 변수 선언문이 수행되었을 때 인스턴스 변수는 개별 속성, 클래스 변수는 공통 속성이라고 생각하자. 트럼프 카드에서 각 카드는 숫자와 무늬는 다르고 폭과 넓이는 같다. 숫자, 무늬 => 인스턴스 변수 폭, 넓이 => 클래스 변수 트럼프 카드 예제 Card c1 = new Card(); c1.kind = "HEA..
[JAVA] 클래스 클래스와 객체 클래스의 정의 - 클래스란 객체를 정의해 놓은 것 클래스의 용도 - 클래스는 객체를 생성하는 데 사용 객체의 정의 - 실제로 존재하는 것. 사물 또는 개념 객체의 용도 - 객체가 가지고 있는 기능과 속성에 따라 다름 객체와 인스턴스 객체 : 모든 인스턴스를 대표하는 일반적 용어 인스턴스 : 특정 클래스로부터 생성된 객체(예 : Tv인스턴스) 클래스(Tv설계도) ---(인스턴스화)---> 인스턴스(객체, 제품) 참고) 클래스는 다음 3가지로도 불린다. 1. 설계도 2. 데이터 + 함수 3. 사용자 정의 타입
[JAVA] 2차원 배열 1. 테이블 형태의 데이터를 저장하기 위한 배열이다. 2. 1차원 배열의 배열이라고도 불린다. 2차원 배열의 초기화 예제 int[][] arr = new int[][]{{1,2,3},{1,2,3}}; int[][] arr1 = {{1,2,3},{1,2,3}}; // 1차원 배열과 동일하게 생략할 수 있음 int[][] arr2 = { {1,2,3}, {1,2,3} }; // 알아보기 쉽게 이렇게 많이 씀 단어의 뜻을 맞추는 예제 String[][] words = { {"computer","컴퓨터"}, {"apple","사과"}, {"fish","물고기"} }; Scanner scanner = new Scanner(System.in); String input = ""; for(int i = 0; i < w..
[JAVA] String 클래스 1. String 클래스는 char[](문자 배열)와 메서드(기능)를 결합한 것 2. String 클래스는 내용을 변경할 수 없다.(read only) -> 기존의 문자열이 바뀌는 것이 아님. String 클래스의 주요 메서드 char chatAt(int index) : 문자열에서 해당 위치(index)에 있는 문자를 반환한다. int length() : 문자열의 길이를 반환한다. String substring(int from, int to) : 문자열에서 해당 범위(from~to)의 문자열을 반환한다.(to는 포함 안 됨) boolean equals(Object obj) : 문자열의 내용이 같은지 확인한다. 같으면 결과는 true, 다르면 false char[] toCharArray() : 문자열을 문..
[JAVA] 이름붙은 반복문 1. 반복문에 이름을 붙여서 하나 이상의 반복문을 벗어날 수 있다. (둘 이상의 반복문을 벗어날 때) 2. 참고로 break;는 하나의 반복문을 벗어난다. 메뉴 주문 프로그램 예제 1. 사용자로부터 메뉴를 입력받는다. 2. 1,2,3번 메뉴가 있고 0번은 프로그램 종료이다. 3. 1,2,3번 이외의 값이 들어오면 다시 메뉴를 입력받는다. 4. 선택한 메뉴를 출력한다. int menu = 0; Scanner scanner = new Scanner(System.in); Loop1 : while(true){ System.out.println("1 : apple"); System.out.println("2 : banana"); System.out.println("3 : strawberry"); System.ou..
[JAVA] do-while문 1. 블록{}을 최소한 한 번 이상 반복한다. 2. 사용자 입력받을 때 유용하다. 3. 조건식 끝에 ';'을 잊지 않도록 주의하자. 값을 입력받고 정답을 맞히는 예제 int input = 0; int answer = 56; Scanner scanner = new Scanner(System.in); do { System.out.print("1~100 사이 숫자를 입력하세요 : "); input = scanner.nextInt(); if(input > answer){ System.out.println("더 작은 수를 입력하세요."); } else if (input < answer){ System.out.println("더 큰 수를 입력하세요."); } } while(input!=answer); System...