Back-End/JAVA 39

[Java] Static

static이 붙은 변수, 메소드, 구역 등은 프로그램 실행시 가장 먼저 메모리에 올라간다. static이 붙은 메소드는 내부에서 객체의 필드에 올라오는 일반 전역변수와 일반 메소드는 사용할 수 없다. (메모리에 아직 올라오지 않았기 때문에) 따라서 static이 붙은 전역변수, static이 붙은 메소드, 자기 자신 안에 선언된 지역변수만 사용할 수 있다. static이 붙은 전역변수, 메소드는 모든 객체가 공유한다. 따라서 static 필드는 클래스 이름으로 직접 접근이 가능하다. 실제로 공유해야 하는 값, 메소드에는 static을 붙여서 사용한다. (공유하지 않아야 하는 값들에는 무조건 static을 붙이면 안된다.) ex) Car class에서 wheel public class Car { Stri..

Back-End/JAVA 2021.05.24

[Java] 클래스 배열

1) 클래스 배열 객체를 여러개 선언해야 하는 경우 배열 타입으로 한번에 선언 후 사용한다. 각 객체는 규칙성이 없기 때문에 규칙성을 부여하기 위해 사용한다. 2) 클래스 배열 선언 클래스명[ ] 배열명 = new 클래스명[칸수]; 클래스명[ ] 배열명 = { new 생성자( ), new 생성자( ), ... }; 3) 클래스 배열 사용 클래스 배열은 각 방이 하나의 객체이다. 배열명[idx].변수; 배열명[idx].메소드( ); public class Home { public static void main(String[] args) { Car mycar = new Car("Ferrari", "red", 65000); Car momcar = new Car("k7", "white", 2700); Car d..

Back-End/JAVA 2021.05.24

[Java] 다형성(Polymorphism)

1) Overloading(오버로딩) 같은 이름의 메소드를 여러개 선언하는 기법 매개변수의 개수 혹은 타입이 다르면 같은 이름의 메소드로 여러개 선언할 수 있다. 왜냐하면 이름이 아닌 매개변수로 구별하기 때문이다. 오버로딩된 메소드를 사용할 땐, 전달된 값의 타입 혹은 개수로 구분하여 알맞은 메소드가 자동으로 호출된다. 2) Overriding(오버라이딩, 재정의) 부모 필드에 이미 a( )라는 메소드가 존재한다면, 자식 객체 생성시 부모 생성자가 먼저 호출되기 때문에 부모 클래스의 a( )가 먼저 메모리에 올라간다. 그 다음에 자식의 필드가 올라갈 때 같은 이름의 a( ) 라는 메소드가 선언되어 있다면, 같은 이름으로 2개가 만들어지는 것이 아니고, 기존에 만들어진 부모필드의 a( ) 메소드에 자식에서..

Back-End/JAVA 2021.05.24

[Java] Storage Class(저장 기억 부류), 클래스, 생성자

1) Storage Class 1. 지역 변수 메소드 내부에 선언된 변수 2. 전역 변수 클래스 내부, 메소드 외부에 선언된 변수 3. 정적 변수 static이 붙은 변수 2) 지역변수/전역변수/정적변수 특징 저장되는 RAM영역 Stack Data Data 지역변수 전역변수 정적변수 초기화 직접 자동 자동 생명주기 } 프로그램 종료시 프로그램 종료시 보안성 상 중 하 3) Class 공통 요소들을 추상적으로 묶어놓은 틀, 개념 ex) 자동차로 비유하자면 각 차의 엔진종류, 차 번호, 브랜드, 시동켜기 등 붕어빵 틀 여러 변수들과 메소드들을 둘다 관리하고 사용하기 위해 쓴다. 1. 주어이다. 모든 문장 맨 앞에 클래스가 나오고 영어는 맨 앞을 대문자로 적는다. 클래스는 주어의 역할이고 대문자로 시작한다. ..

Back-End/JAVA 2021.05.24

[Java] 메소드(method)

1) 메소드 정의 이름 뒤에 소괄호( ) 단, 키워드 뒤에 소괄호는 메소드가 아니다. 클래스 안에서 선언되어야한다. f ( x ) = 2x+1 => 수학에서의 함수 표현 메소드 매개 = 리턴값 => 자바에서의 명칭 (이름) (변수) 2) 메소드 기능 1. 반복되는 기능이나 코드를 쉽게 관리하기 위해 사용한다. 2. 소스코드 간결화(모듈화의 시작) 3) 메소드 구조 1. 기본 구조 ①리턴타입 ②메소드명(③자료형 매개변수1, 자료형 매개변수, ...){ ④호출시 실행할 문장 ⑤return 리턴값; } 2.. 구조 설명 ① 리턴타입 : 리턴 뒤에 값이 있다면 그 타입에 맞는 자료형을 작성해준다. 리턴값이 없는 경우에는 void로 작성한다. ② 메소드명 : 동사형으로 작성한다. ex) eat("피자") eat(..

Back-End/JAVA 2021.05.21

[Java] 2차원 배열[ ] [ ], 2중 for문

1) 이차원 배열(다차원배열) 배열 안에 배열 {10,20,30} {40,50,60} 2) 이차열 배열 선언 1. 자료형[ ] 배열명 ={ {값1, 값2, ...}, {값3, 값4, ...}, ... }; int[ ][ ] arrData = { {10,20,30}, {40,50,60} }; 2. 자료형[ ][ ] 배열명 = new 자료형[행수][열수]; int[ ][ ] arrData = new int[2][3]; // 2행 3열의 배열생성 3) 2중 for문(nested for문) 1. for문 안에 for문이 있는 형태 바깥쪽에 있는 i for문은 다음 반복으로 넘어가기 위해서 안쪽에 있는 모든 수행할 문장들을 마쳐야한다. 안에 있는 수행할 문장 중에 j for문이 있으므로, 그 j for문이 완전히..

Back-End/JAVA 2021.05.20

[Java] 배열(array,[ ])

1)배열 : 같은 자료형의 여러 변수를 나열해 놓은 것 1. 여러 값들을 하나의 이름과 인덱스로 관리하기 위해서 2. 규칙성이 없는 값들에 규칙성을 부여하기 위해서 ex)"김채린" "공주" "Java" "224" "정다솔" 을 앞뒤로 { , } 를 추가해주면 String[ ] arMsg = {"김채린", "공주", "Java", "224", "정다솔"}; 라는 배열의 값으로 규칙성 부여 2)배열의 선언 1. 자료형[ ] 배열명 = {값1, 값2, 값3, ...}; ex) int[ ] arData = {10,20,30}; 2. 자료형[ ] 배열명 = new 자료형[칸수]; **new : 힙(Heap)영역에 할당됨** 3. 자료형[ ] 배열명 = null; **null : 주소값의 초기값** 3) 배열의 인..

Back-End/JAVA 2021.05.18

[Java] 반복문(for)

1) for문 횟수에 의한 반복문 반복 횟수가 특정된 경우에 사용한다. 무언가 값이 일정하게 변하는 반복일 때 사용한다. for(초기식; 조건식; 증감식){ 수행할 문장 } 초기식에서 새로운 변수를 하나 선언해준다. (내부에서 그 변수를 이용 가능) for문 안에서는 그 변수의 값으로 무언가 변하는 값을 나타낼 수 있다. 2) 실행순서 초기식 -> 조건식 검사(참/거짓) -> 거짓이면 탈출/참이면 내부수행 -> 증감식 -> 조건식 검사(참/거짓) -> 거짓이면 탈출/참이면 내부수행 -> ... 3) for문 실행예제1 public class ForTest { public static void main(String[] args) { // 10번 반복하는 반복문 for (int i = 0; i < 10; i..

Back-End/JAVA 2021.05.17

[Java] 반복문(while)

1) 반복문 특정한 코드나 행위를 반복해야할 때 사용하는 문장 - 조건에 의한 반복문 while do~ while - 횟수에 의한 반복문 for 2) while문 while(조건식){ 조건식의 연산 결과가 참이면 반복수행 } 3) do while문 while문과 동일하지만 무조건 한번은 실행한다. do{ 조건식의 연산 결과가 참이면 반복수행 }while(조건식); 무한반복 while(true){ 무한반복할 문장 } 4) while문 요약 while문 뒤의 () 안에는 조건식, 즉 boolean 타입의 값이 와야한다. 따라서 그 안에 true라는 값을 넣을 수 있고 그 값은 상수로 작성했기 때문에 절대 변하지 않는다. 따라서 그 while문은 무한정으로 반복하게 된다. 안에서 특정한 조건일 때 if문 안의..

Back-End/JAVA 2021.05.17
반응형