자바기반응용프로그래밍 - 메소드, 레퍼런스, 오버로딩, 가비지 컬렉션
·
Language/JAVA
자바의 메소드 구성 접근 지정자 리턴 타입(리턴이 없으면 void) 메소드 이름 메소드 인자 (없다면 비우기, 있다면 자료형까지) 메소드 코드 자바의 인자 전달 call by value: 매개변수가 기본 타입 값일 때 call by reference: 매개변수가 객체나 배열일 때 메소드 오버로딩 메소드 이름만 동일하고, 매개변수의 개수나 타입을 서로 다르게 작성 리턴 타입과 무관. class MethodOverloading { public int getSum(int i, int j) { return i + j; } public int getSum(int i, int j, int k) { return i + j + k; } } 객체 소멸과 가비지 컬렉션 가리키는 레퍼런스가 하나도 없게 된 객체 => JVM..
자바기반응용프로그래밍 - 객체 지향을 위한 클래스와 객체
·
Language/JAVA
캡슐화 객체를 캡슐로 싸서 내부를 볼 수 없게 하는 것. 외부의 접근으로부터 안전하게 보호하기 위해 필요 외부와의 접속을 위한 일부분은 공개 노출 가능 => 인터페이스 클래스 객체 모양을 선언 한 틀(캡슐) 필드(멤버 변수)와 메소드(멤버 함수)로 구성 객체 클래스 모양대로 생성된 실체(인스턴스) 치환 시 객체 자체가 아닌, 객체의 레퍼런스(포인터)가 복사됨 ex. 붕어빵 만드는 틀 - 클래스 팥붕 / 슈붕 / 치즈붕 - 객체 1,2,3.... 상속 서브 클래스(자식)가 슈퍼 클래스(부모)의 속성을 물려받고, 기능 확장 가능 다중상속 불가 (대신, 인터페이스 다중 상속 허용) 코드의 재사용 다형성 같은 이름의 메소드가 클래스나 객체에 따라 다르게 동작하도록 구현 메소드 오버로딩 : 클래스 내에서 같은 이..
자바기반응용프로그래밍 - 연산자, 조건문
·
Language/JAVA
자바 수식 연산자 증감: ++ -- 산술: + - * / % 시프트: >> >> 비교: > >= 자바 연산자 우선순위 () [] : 괄호 / 대괄호 ! ~ ++ -- : 부정, 증감연산자 * / % : 곱셈 / 나눗셈(몫, 나머지) 연산자 + - : 덧셈 / 뺄셈 연산자 > >>> : 비트 단위의 시프트 연산자 = : 관계 연산자 == != & : 비트 단위의 논리 연산자 ^ | && : 논리곱 연산자 || : 논리합 연산자 ? : : 조건연산자 = += -= *= /= %= true 따라서 논리합 연산자(둘 중 하나라도 true라면 true반환) => true => a = 3 비트 논리 연산 & : 논리곱(AND), 두 비트 모두 1일 경우에만 1 | : 논리합(OR), 두 비트 중 ..
자바기반응용프로그래밍 - 기본구조, 식별자, 데이터타입, 스캐너
·
Language/JAVA
자바 프로그램의 기본 구조 // hello.java public class Hello { public static int sum(int n, int m) { return n + m; } // main() 메소드에서 실행 시작 public static void main(String[] args) { int i = 20; int s; char a; s = sum(i, 10); // sum() 메소드 호출 a = '?'; System.out.println(a); // 문자 '?' 화면 출력 System.out.println("Hello"); // "Hello" 문자열 화면 출력 System.out.println(s); // 정수 s 값 화면 출력 } } class 이름 = 파일 이름 class 내 main은 ..