Programming language/Java

다형성 (Polymorphism) 객체지향 언어의 특징중 하나로 ‘다양한 형태를 갖는다’ 라는 뜻이다. 상속을 이용한 기술로 부모 클래스타입 참조변수 하나로 상속관계에 있는 여러 타입의 자식객체를 참조할 수 있는 기술. [부모변수 클래스명] 참조변수명 = new 자식클래스() 업캐스팅 (Up casting) 부모형 클래스 Person과 자식형 클래스 Student가 있을 때 Person p1 = new Student(); 위와 같은 형태로 업캐스팅을 한다. 이럴 경우 참조변수가 Person타입이다. Student의 객체 중 Person 객체 부분만을 참조할 수 있는 형태로 변한다. 다운캐스팅(Down casting) 부모형 클래스 Person과 자식형 클래스 Student가 있을 때 이미 업캐스팅한 변수..
상속 (Inheritance) 다른 클래스가 가지고 있는 멤버(필드, 메소드)들을 새로 작성할 클래스에서 직접 만들지 않고 상속을 받음으로써 새 클래스가 자신의 멤버처럼 사용할수 있는 기능. [접근제한자] class 클래스명extends클래스명{} 자바에서는 다중상속을 지원하지 않고 단일 상속만을 지원한다. 상속의 특징 모든 클래스는 Object 클래스의 후손이다. 부모 클래스의 생성자, 초기화 블록은 상속되지 않는다. 부모의 private 멤버는 상속은 되지만 직접 접근이 불가능하다. 오버라이딩(Overriding) 자식 클래스가 상속받은 부모 메소드를 재작성 하는것. 메소드 헤드라인 위에 반드시 어노테이션, @Override를 표시한다 오버라이딩 규칙 메소드 이름 동일해야 한다. 반환형 동일해야 한다..
객체(Instance) Java에서 객체란 클래스에 정의된 내용대로 new 연산자를 통해 메모리 영역에 생성된 것(인스턴스)이다. new 연산자를 통해 메모리 영역에 생산된 배열도 객체이다. Object vs Instance 현실에 존재하는 독립적이면서 하나로 취급되는 사물이나 개념(Object) 객체지향 언어에서, 클래스에 정의된 내용대로 메모리에 할당된 결과물(Insatnce) 클래스(class) 객체의 특성(속성,기능)에 대해 정의한 것 추상화 유연성을 확보하기 위해 구체적인 것은 제거한다는 의미이다. 프로그램에서 필요한 공통점을 추출하고, 불필요한 부분을 제거하는 과정 캡슐화 추상화를 통해 정리된 데이터들과 기능을 하나로 묶어 관리하는 기법. 클래스의 가장 중요한 목적인 데이터의 직접 접근제한을 ..
2중 Array 2중 Array문은 2차원 배열 참조 변수이다. 즉 1차원 참조 변수의 주소를 저장(참조)하고 있는 참조 변수인 것이다. new 명령어는 Heap 영역에 객체를 생성하는 것이다. new int[][];는 Heap 영역에 위와 같은 모양의 참조변수를 생성한다는 의미이다. arr이 참조하고 있는 arr[x] (행)는 arr[x][y] (열)를 참조하고 있으며, arr[x][y]의 초기값은 기본값이다.
최고점 최저점 비교 int max = score[0]; int min = score[0]; // 최고점, 최저점 변수 초기화 for(int i=0; i max ) { // 최고점 비교 max = score[i]; } if( score[i] < min ) { // 최저점 비교 min = score[i]; } } Arrays.toString char[] arr = new char[5]; // char[] arr이 참조하는 배열 요소에 A,B,C,D,E 대입하기 for(int i=0; i
배열이란? 번호와 번호에 대응하는 데이터들로 이루어진 자료 구조. 같은 자료형의 변수를 하나의 묶음으로 다루는것. 배열의 선언과 할당 int num; stack 영역에 int 자료형을 저장할 수 있는 공간 4byte(int형이라)를 할당하고, 그 공간에 num이라는 이름을 붙였다. ☆Stack 영역 : 메서드 내부 변수 선언시 할당(생성)되는 영역 num = 10; 생성된 num이라는 변수 공간에 10을 대입. System.out.println("num에 저장된 값 : " + num); 위와 같은 명령을 사용하면 num이 작성된 자리에 있는, num에 저장된 값을 읽어와서 출력한다. int[] arr; stack 영역에 int[] (int 배열) 자료형 공간 4byte 할당하고 그 공간에 arr 이라는 ..
제어문이란? 프로그램의 실행을 조절하고 흐름을 제어하는 문장. 조건문 if문 if(input > 0) { System.out.println("양수입니다."); } if(조건식) { 조건식이 true일 때 수행할 코드 } else { 조건식이 false일 때 수행할 코드 } if (month == 3 || month == 4 || month == 5) { season = "봄"; } else if (month >= 6 && month = 9 && month =2 && dan
연산자란? 프로그램에서 산술이나 연산을 위해 제공되는 다양한 기호. 산술 연산자 일반 수학과 같은 방식으로 연산한다. 만약 Hi2 라는 문자를 출력하고 싶어서 다음과 같은 코드를 작성한다면 Hi11이 출력된다. public static void main(String[] args) { System.out.println("Hi" +1 +1) } +가 더하기 이외에도 이어쓰기의 역할을 가지고 있기 때문에 Hi2 라는 문자를 출력하고 싶다면 (1 +1)과 같이 괄호를 닫아주어야 한다. 증감 연산자 피연산자 값에 1을 더하거나 빼준다. 전위연산은 먼저 연산을 실행한 이후 다른 연산을 실행하고 후위연산은 다른 연산을 먼저 실행한 뒤 연산을 실행한다. public static void main(String[] arg..
형변환이란? 값의 자료형을 변경하는 것. (단, boolean은 제외한다) 형변환이 필요한 이유 컴퓨터는 기본적으로 같은 자료형 끼리만 연산이 가능하다. 다른 자료형과 연산시 오류가 발생한다. -> 이런 상황을 해결하기 위해 필요한 기술이 형변환이다. 자동 형변환 [값의 범위가 큰] 자료형과 [값의 범위가 작은] 자료형의 연산시 작은 자료형이 큰 자료형으로 컴파일러에 의해 자동적으로 변환되는 것. int num1 = 10; double num2 = 3.5; System.out.println("자동 형변환 결과 : " + (num1 + num2)); // 원래 에러가 발생해야 되지만 "자동 형변환" 덕뿐에 발생하지 않음. int가 double로 자동 형변환이 되고, double 형태의 자료가 출력된다. l..
this 예약어의 쓰임세 1. 자신의 메모리를 가리키는 this 생성된 인스턴스 스스로를 가리키는 예약어로 쓰인다. ①번의 this는 Student 클래스의 맴버변수를 의미하며, ②번의 this는 메서드의 지역변수(이자 매개변수)인 this를 의미한다. 메서드에 입력된 지역변수 this를 맴버변수에 대입한다는 의미이다. 여기서 this는 맴버변수 idNum의 주소를 가리킨다. 맴버변수(Member variable) : Class 내부 영역에 정의한 변수(클래스 내부로 한정) 지역변수(Local variable) : Method 안에 있는 변수 매개변수(Parameter) : 함수로 값을 전달하는 값, 인수를 함수에 전달하면 매개변수에 잔달받은 값이 '복사'되어 저장된다. 함수 안에서 변경되어도 함수 밖의..
cslee00
'Programming language/Java' 카테고리의 글 목록