목록JAVA (31)
개발 공부

Scanner 사용 목적 과 특징 사용자로부터 문자열 또는 숫자 열등의 사용자 입력을 받을 수 있게 하는 클래스이다 즉 스캐너만 있다면 사용자의 입력을 받을 수 있습니다. java.util 패키지에 포함되어 있어 java.util을 import를 해줘야 사용할 수 있다. [nextLine() 메서드 예외] 나머지 메서드들은 토큰 단위로 읽는다. Scanner 객체 생성 ex) Sanner sc = new Scanner(System.in); Scanner 클래스의 메서드 메서드 설명 next() 공백이전까지의 문자열 입력받음 nextLine() 문자열 전체를 입력받음 (한줄 띄어쓰기 포함) sc.next().charAt(0); 문자 한개만 입력받음 (index) nextInt() int를 읽음 nextBo..
변수를 사용하는 이유 값에 의미를 부여하기 위해 변수를 사용합니다. (가독성이 높습니다) 단 한 번 값을 기록하고 필요할 때마다 가져다 쓰는 목적으로 변수를 사용합니다. (재사용성) 유지보수를 쉽게 할 수 있습니다. 변수의 선언 메모리 공간에 값을 기록하기 위한 변수를 확보하고 할당합니다. => 값 보관을 위한 상자를 만든다. [표현법] 변수타입 + 변수이름; 자료형 Type 문자 문자-char 문자형-String 참조형 숫자 정수형 byte short int long 실수형 float double 논리형 boolean 변수이름 : 변수의 이름을 붙여주는 부분 (의미 부여) 변수 선언 시 주의할 점 변수 이름은 소문자로 시작하며 낙타봉 표기법을 지켜야 합니다. 예약어는 불가능합니다. 같은 영역 안 {()..
추상클래스 추상클래스는 인스턴스가 될 수 없다. 추상클래스를 상속받는 자손이 인스턴스가 된다. abstract 키워드를 사용하여 클래스를 정의한다. 추상클래스는 보통 1개 이상의 추상 메소드를 가진다. (추상 메소드가 없어도 오류가 발생하진 않는다.) publick abstract class 클래스명 부모가 가지고 있는 추상메소드는 자식에서 반드시 구현을 해줘야 한다. 템플릿 메서드 패턴 추상클래스가 많이 쓰이는 경우 중 하나가 템플릿 메서드 패턴 특징 어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴 즉, 전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된 메서드의 코드 중복을 최소화 할 때 유용하다. 다른 ..
오버로딩- 리턴 타입 함수명은 같으나 /파라미터만 다른것 들어가는 매개변수는 다르고 리턴값 같다. 오버라이딩-자식클래스에서 다시 만들어서 쓰는것 동적 바인딩 =재 정의된 메서드를 먼저 부른다는 규칙 ※필드는 오버라이딩 되어도 필드는 부모타입을 따라감 ※메소드는 오버라이딩 되면 자식의 메소드 실행 ex) 클래스 1 public class Parent { public int i = 5; public void printI(){ System.out.println("parent = printI() :" +i); } } 클래스 2 (상속) public class Child extends Parent { public int i = 15; // parent 필드에 대한 오버라이딩 public void printI(){..

java의 jvm 이 관리하는 메모리 공간은 크게 3가지 영역으로 나눌 수 있다. 스태틱 영역 스택영역 힙 영역 data 스태틱 스택 힙 code 스태틱 필드를 선언 할 때 static이 붙게 되면 data세그먼트 메소드 영역=스태틱(static)- 정적메모리 static이 붙은 필드선언시 스택- ()메소드 내 지역변수 , 파라미터(매개변수) 힙-인스턴스화 하는 객체 new연산자로 만든 객체나 배열 예외)가비지컬렉터- 사용이 끝난 객체의 메모리 해제 code세그먼트 스태틱(static)- 바이트 코드
class 접근제어자 반환타입 메소드명 파라미터 static final public int myFunction (int x){ return x +5; (메소드의 기능 실행문 )로직 } 접근제어자 private-해당 클래스 내에서만 사용가능 하다. public- 어느 클래스에서든 접근 가능한 메소드 반환타입 생략가능 하지만 void 키워드 사용 자료형 파라미터 생략가능 () 메소드와 함수의 구분 class 내 위치하는지 안하는지 main메소드 무조건 프로그램이 실행되기 위해 main 메소드가 필요하다