목록자바/기초 (16)
gpffh1011
상속(is a)은, 부모 클래스의 속성과 메소드를 물려받아 그 기능을 재사용 하면서, 오버라이드 기능을 이용해 부모 클래스와는 또 다른 다형성을 표현 할 수 있다는 장점이 있다. 그러나 자바의 경우 다중상속을 할 수 없으며, 상속은 모든 자식 클래스들이 부모 클래스의 속성과 기능을 똑같이 상속받아야 한다. 상속은 객체지향 언어에서 고정된 문법이기 때문에, 자식 클래스가 한번 상속 받은 속성과 기능은 컴파일 이후 변경이 불가능하다. 그래서 자식 클래스들의 일부 특성이 부모 클래스와 어긋날 경우, 프로그램 수정, 확장등의 유지보수 작업이 어려워 진다.(like 한번 쓰면 지우지 못하는 볼펜) 구성(has is)은, 클래스의 특정 기능을 수행하기 위해서 그리고 다른 '객체 그룹'의 비슷하거나 같은 역할을 하는..
리모콘 버튼을 위한 메서드의 경우 수정을 해서는 안된다. 개발자가 많은 경우 혹여나 다른 개발자가 수정하는 것을 막기 위해 문법적으로 설정한다. 그 방법이 abstract이다. 마지막 중괄호{}를 지우고 앞에 abstract를 붙인다. 어떤 클래스에 속해 있는 여러 개의 메서드 중에 하나라도 abstract가 붙은 메서드가 있다면, 클래스 앞에도 abstract붙인다. (but 클래스에 abstract가 붙었다고 메서드에 abstract를 붙일 필요 없다.) 추상메서드>>오직 버튼만 만들 수 있는 메서드 추상클래스>>오직 리모콘만 만들 수 있는 클래스 abstract를 붙인다고 좋아지는 건 없다. 대단한 기능을 얻기 위함이 아니라 개발자들 간의 의사소통을 위해 사용한다.
@생성자 : - 인스턴스가 생성될 때 반드시 호출되며 제일먼저 실행되는 일종의 메소드 이다. 자동으로 호출되어 인스턴스 변수들을 바로 초기화 한다. - 생성자의 이름은 클래스의 이름과 같다. - 리턴 값이 없다. - 구조 - 클래스 이름 ( ){ } - 모든 클래스에는 하나 이상의 생성자가 있어야 한다. - 생성자가 정의되지 않았을 경우 컴파일러가 자동으로 '기본 생성자'를 만든다. '기본 생성자'에는 아무 내용도 없으므로 아무런 영향을 주지 않는다. - 클래스를 상속받은 경우 : 하위 클래스는 상위 클래스의 생성자 또한 상속 받는다. (상위 클래스의 생성자 먼저 호출된 후 자신의 생성자 호출.)
@예약어 : 프로그래밍을 하는데 있어 미리 의미가 정해진 단어들 abstract 추상 클래스 또는 추상 메소드에 사용 boolean 논리형 //참(true) 과 거짓(false) / default 값은 false break 반복문 또는 Switch 문을 벗어나거나 멈출때 사용 byte 데이터 정수형 // 1byte = 8 bit // 정수형: byte 다시 선언 또는 변경 할 수 x continue 반복문, 루프돌때 현재 루프를 끝낸뒤, 뒤에 내용 무시하고 앞으로가서 다음 루프를 실행 default 접근제어자 및 switch 문 에서 쓰임 접근제어자는 클래스,메소드,멤버변수 앞에 아무것도 선언을 안하면 default 가 됨. switch 문에서 해당하는 case 가 없으면 ..
거품 정렬(Bubble sort) : 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘 ◆ 상당히 느리지만, 코드가 단순하기 때문에 자주 사용된다. ◇ 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 거품 정렬 이라는 이름이 붙었다. 거품 정렬 알고리즘의 특징 : 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘 ◆ 장점 - 구현이 매우 간단하다. ◇ 단점 - 하나의 요소가 가장 왼쪽에서 가장 오른쪽으로 이동하기 위해서는, 배열의 모든 다른 요소들과 교환해야 한다. - 정렬이 모두 이루어 진 경우에서 주어진 반복을 계속한다. => 비효율적이고 낭비가 크다. 배열의 크기가 클 수록 낭비가 커진다. 거품 정렬 구현
배열이란? 같은 타입의 변수를 하나의 묶음으로 관리하기 위한 것. 하나의 데이터만 저장 할 수 있는 변수와 달리, 여러개의 데이터를 저장하고 효율적으로 관리하기 좋다. //배열을 사용하지 않을 경우 ---저장해야할 데이터가 100개라면 100개의 변수를 일일이 선언하고 저장해야 한다. int student1, student2, student3, student4, ... , student100; //배열을 사용 할 경우 --- 변수를 일일이 선언하고 저장 할 필요가 없다. int[] student = new int[100]; 배열의 사용 배열을 선언하기 위해선 변수 선언에서 타입뒤에 대괄호를 추가로 붙이면 된다. 타입[] 배열이름 이제 실제 배열을 생성하기 위해서는 연산자 'new'를 쓰고 타입과 길이를 ..
@조건문 : 특정한 조건을 반족하면 수행할 작업과 만족하지 않을 때 수행할 작업을 미리 정해놓고, 조건에 따라 각각 다르게 실행하도록 만들어 놓은 문장. - if : 가장 기본적인 조건문 if(조건식){ //실행부분 } - if - else : if문에서 조건식이 false일 경우에 실행되는 부분을 추가한 문장 if(조건식){ //실행부분1 // 조건식이 참일 경우 실행 } else{ //실행부분2 // 조건식이 거짓일 경우 실행 } - if - else if : 조건이 여러 가지일 경우, 조건에 따라 다른 작업을 수행하고 싶을 때 사용 if(조건1){ //실행부분1 } else if(조건2){ //실행부분2 // 조건1을 만족하지 않고 조건2를 만족할 경우 실행 } else if(조건3){ //실행부분..