전체 글 95

다형성

다형성(Polymorphism) - 다형성이란 "객체가 여러 형태를 가진다"라는 의미로 해석되며, 하나의 객체가 여러가지 유형으로 사용되는 것을 의미합니다. - 다형성은 상속을 전제조건으로 합니다. - 다형성을 위해 자바는 자식클래스가 부모클래스의 타입을 가질 수 있도록 허용합니다. 즉, 부모 타 입에 모든 자식객체가 대입될 수 있습니다. 부모클래스 변수 = new 자식클래스() 이때. 부모클래스에 있는 기능만 사용할 수 있지만, 오버라이딩 된 메서드는 먼저 실행됩니다 다형성 basicStudent, Teacher, Employee(자식클래스) 로 생성해서 Person(부모) 타입에 저장 할 수 있다 이 때, 부모에 있는 메서드만 실행가능 하며 overriding메서드는 우선 실행된다 클래스 Castin..

자바 2024.05.01

접근 제한자

접근 제한자란?접근 제한자(Access Modifier) - 접근 제한자는 클래스와 멤버변수, 메서드, 생성자의 접근을 제어할 수 있는 제한자입니다. - 라이브러리 클래스를 설계할 때는 외부 클래스에서 접근할 수 있는 멤버와 접근할 수 없는 멤버로 구분 해서 변수, 생성자, 메서드를 설계하는 것이 바람직합니다. - 외부에서 객체 생성을 막기 위해 생성자를 호출하지 못하게 하거나 객체의 특정 데이터를 보호하기 위 해 해당 멤버변수에 접근하지 못하도록 막는 것이 접근 제한자의 역할입니다. - 클래스에는 접근 제한자를 public과 default만 붙일 수 있습니다. 접근 제한자의 종류접근 제한자의 종류 1. public: 같은 클래스, 같은 패키지, 다른 패키지를 막론하고 접근이 가능. 2. protecte..

자바 2024.05.01

this와 super

매개변수가 멤버변수를 가린다 this - this는 자기 자신 객체를 지정할 때 사용하는 키워드입니다. - this. 을 사용하면 동일 클래스 내의 멤버(멤버변수, 메서드)를 참조할 수 있습니다. - this()를 사용하면 생성자 내부에서 자신의 다른 생성자를 호출할 수 있습니다. public class Person { String name; int age; Person(String name, int age) { name = name; age = age; } } 같은 이름의 매개변수가 멤버변수의 사용을가린다 이 때 나 자신의 멤버로 지칭하는 키워드가 this이다 this 예제 super- super는 한단계 위 부모클래스의 객체를 지정할 때 사용하는 키워드입니다. - super. 을 사용하면 부모클래스의..

자바 2024.05.01

메서드 재정의(Overriding)

메서드 재정의(Overriding) 란? 메서드 재정의(Overriding) - 메서드 재정의란 부모클래스로부터 상속받은 메서드를 자식클래스에서 행위를 바꾸거나 보완하기 위해 다시 정의해서 사용하는 것을 말합니다. - 이는 부모클래스에서 특별한 용도로 사용하던 메서드를 자식클래스에서 다른 용도로 사용할 때 필요합니다. - 부모클래스의 모든 메서드가 자식클래스에 맞게 설계되어 있다면 가장 이상적 인상속이지만, 특정 메서드는 자식 클래스가 사용하기에 적합하지 않을 수도 있 습니다. - 이 경우 상속된 일부 메서드는 자식클래스에서 재정의하여 사용해야 합니다. - 메서드가 자식클래스에서 재정의되었다면 자식객체를 통해 메서드를 호출했을 때 새롭게 재정의된 메서드가 호출됩니다. 메서드 재정의 예제 (규칙) - 메서..

자바 2024.04.30

객체지향 프로그래밍 기술(상속, 은닉, 다형성)

상속OOP에서 상속은 기존의 클래스를 확장하여 새로운 클래스를 이끌어내는 것을 의미합니다. 상속은 기존의 코드를 재사용함으로써 불필요한 코 드를 재작성하는 번거로움을 없앨 수 있고, 새로운 클래스를 만드는 시간과 노력을 줄일 수 있습니다 상속 - 단일상속만을 지원합니다. - 어떤 클래스가 다른 클래스로부터 상속을 받아 만들어지면 새롭게 만들어진 클래스를 자식(child or sub) 클래스라고 부르며, 멤버변수와 메서드를 물려준 클래스는 부모(parent or super)클래스라고 부릅니다. - 상속을 하면 부모클래스의 멤버변수와 메서드가 자식클래스에 상속이 됩니다. 그러나 부모클래스의 생성 자는 상속이 되지 않습니다. - 상속을 사용하는 키워드는 extends 입니다. - 자바의 모든 클래스는 Obje..

자바 2024.04.30

Garbage Collecting 과 패키지

Garbage Collecting 이란 Garbage Collecting - 객체를 생성하는데 사용되는 키워드는 new이지만, 생성된 객체를 메모리에서 해제시키는 키워드는 존재하지 않습니다. - 그 이유는 자바에서는 자바 가상머신(JVM)이 알아서 메모리를 관리해주며, 이 를 가비지 컬렉팅이라 합니다. - 객체가 더 이상 프로그램에서 사용되지 않으면 가비지 컬렉터가 스스로 판단해 서 메모리를 해제하고 수거합니다.public class MainClass { public static void main(String[] args) { Pen p; for(int i = 0; i p = new Pen(); } } } 패키지 패키지(package) - 클래스는 크게 2종류가 있습니다.  - 하나는 개발자가 직접 만들..

자바 2024.04.30

객체와 클래스

- 자바에서 클래스는 객체를 만들기 위한 틀입니다. - 클래스의 변수는 객체의 속성이고, 클래스의 메서드는 객체의 기능입니다. 자 다음 3개의 계산기를 보자public class ObjectBasic1 { public static void main(String[] args) { 계산기 사용.. } //1번 계산기 static int result1 = 0; static int add1(int n) { result1 += n; return result1; } //2번 계산기 static int result2 = 0; static int add2(int n) { result2 += n; return result2; } //3번 계산기 static int result3 = 0; static int add3(in..

자바 2024.04.30

메서드

메서드를 만드는 이유? 메서드(method) - 메서드는 반복되는 코드 블록에 이름을 붙여 놓은 것입니다. - 메서드는 반복되는 코드를 줄여주고, 좀 더 구조화시켜 우리가 코드를 알아보기 쉽게 합니다. - 객체지향프로그래밍에서 메서드는 '객체가 가져야할 기능을 구현하기 위해 만든다'라고 표현하기도 합 니다. - 메서드의 이름 뒤에는 반드시 소괄호'()'가 따릅니다.메서드 선언 방법 (반드시 외우자)   (매개 변수) { 기능 상세; } 메서드의 구분, 매개변수유형 1: 매개변수 있고, 반환 값 있다! 전달인자(○), 반환 값(○) 유형 2: 매개변수 있고, 반환 값 없다! 전달인자(○), 반환 값(x) 유형 3: 매개변수 없고, 반환 값 있다! 전달인자(x), 반환 값(○) 유형 4: 매개변수 없고, 반..

자바 2024.04.30

자바 7회

* 탈출문 - 탈출문은 프로그램의 실행 순서를 지정된 곳으로 이동시키는 문장으로 반복문 또는 블록구조에서 빠져 나올 때 사용합니다. - 탈출문의 키워드는 break, continue, return문이 있습니다. - goto는 자바의 키워드에는 포함되어 있으나 사용하지는 않습니다. 1. break - break는 반복문 내의 어떤 곳이든 위치할 수 있으며, 처리 도중에 break를 만나면 반복문을 곧바로 빠져나옵니다. - 중첩 반복문의 경우에 내부 반복문에서 break가 사용되었을 경우 그 break문이 속한 내부 반복문만 빠져나오게 됩니다. - 중첩 반복문에서 바깥쪽 반복문까지 종료시키려면 바깥쪽 반복문에 이름(label) 을 붙이고, "break 이름;"을 사용하면 됩니다. 2. continue - c..

자바 2024.04.30

자바 6회

* 반복문 while  - while문은 조건식을 만족하는 동안 반복문을 실행하는데, 조건식을 검사해서 조건식이 참이면 실행문을 반복하고, 거짓이면 while문을 빠져나옵니다. - while문에 들어가는 조건식도 if문과 마찬가지로 반드시 boolean타입으로 결과를 반환해야 합니다. - 조건식 안에 true를 넣으면 무한루프가 발생하기 때문에 반드시 탈출구문을 넣어야 합니다. * 반복문 do ~ while - while문은 조건식을 먼저 검사하고 실행문이 반복되기 때문에 처음 실행 조건이 false라면 실행문이 단 한번도 실행되지 않습니다. - 그러나 do ~ while문은 do 이하의 구문이 먼저 한 번 실행된 뒤에 조건식을 검사하므로 결과가 true이든 false이든 무조건 한번은 실행이 됩니다. ..

자바 2024.04.30