JAVA
-
핵심개념 추상 : 실체 간의 공통되는 특성을 추출한 것. ex) 고양이, 강아지, 새의 공통되는 특성을 추출할 시 동물이라 공통점이 있음. 여기서 동물이 실체들의 공통되는 특성을 가지고 있는 추상적인 것. 실체클래스 : 객체를 직접 실행할 수 있는 클래스 추상클래스 : 실체클래스들의 공통적인 특성(필드, 메소드)를 추출하여 선언한 것. 추상클래스와 실체클래스는 부모(추상) 자식(실체)클래스로서 상속 관계를 가짐. 추상클래스의 용도 1. 공통된 필드와 메소드의 이름을 통일할 목적 : 데이터와 기능이 동일함에도 불구하고 이름이 다르면 객체마다 사용방법이 달라지므로. 2. 실체 클래스를 작성할 때 시간 절약 : 공통적인 필드와 메소드는 추상클래스에 선언, 다른 점만 실체클래스에 선언 시 실체 클래스 작성 시간..
자바 기초 : 추상 클래스핵심개념 추상 : 실체 간의 공통되는 특성을 추출한 것. ex) 고양이, 강아지, 새의 공통되는 특성을 추출할 시 동물이라 공통점이 있음. 여기서 동물이 실체들의 공통되는 특성을 가지고 있는 추상적인 것. 실체클래스 : 객체를 직접 실행할 수 있는 클래스 추상클래스 : 실체클래스들의 공통적인 특성(필드, 메소드)를 추출하여 선언한 것. 추상클래스와 실체클래스는 부모(추상) 자식(실체)클래스로서 상속 관계를 가짐. 추상클래스의 용도 1. 공통된 필드와 메소드의 이름을 통일할 목적 : 데이터와 기능이 동일함에도 불구하고 이름이 다르면 객체마다 사용방법이 달라지므로. 2. 실체 클래스를 작성할 때 시간 절약 : 공통적인 필드와 메소드는 추상클래스에 선언, 다른 점만 실체클래스에 선언 시 실체 클래스 작성 시간..
2023.03.13 -
핵심개념 타입변환 : 기본타입과 마찬가지로 클래스도 타입 변환이 있으며, 이를 활용하면 객체 지향프로그래밍의 다형성을 구현할 수 있다. 다형성 : 사용 방법은 동일하지만 다양한 객체를 활용해서 여러 실행결과가 나오도록 하는 성질. ex) 자동차가 타이어를 사용하는 방법은 동일. but 어떤 타이어를 사용하느냐에 따라 주행성능이 달라짐. 다형성을 구현하기 위해서는 메소드 재정의와 타입변환이 필요하다. -> 메소드 재정의 + 타입 변환 = 다형성 자동 타입 변환 : 프로그램실행 도중 자동으로 타입 변환이 일어나는 것. 클래스의 변환은 상속관계에 있는 클래스 사이에서 발생하며, 자식은 부모 타입으로 자동 타입 변환이 가능하다. 이때, 바로 위의 부모가 아니더라도 상속계층에서 상위 타입인 경우 자동 타입변환이 ..
자바 기초 : 타입 변환과 다형성핵심개념 타입변환 : 기본타입과 마찬가지로 클래스도 타입 변환이 있으며, 이를 활용하면 객체 지향프로그래밍의 다형성을 구현할 수 있다. 다형성 : 사용 방법은 동일하지만 다양한 객체를 활용해서 여러 실행결과가 나오도록 하는 성질. ex) 자동차가 타이어를 사용하는 방법은 동일. but 어떤 타이어를 사용하느냐에 따라 주행성능이 달라짐. 다형성을 구현하기 위해서는 메소드 재정의와 타입변환이 필요하다. -> 메소드 재정의 + 타입 변환 = 다형성 자동 타입 변환 : 프로그램실행 도중 자동으로 타입 변환이 일어나는 것. 클래스의 변환은 상속관계에 있는 클래스 사이에서 발생하며, 자식은 부모 타입으로 자동 타입 변환이 가능하다. 이때, 바로 위의 부모가 아니더라도 상속계층에서 상위 타입인 경우 자동 타입변환이 ..
2023.03.12 -
핵심개념 상속 : 객체지향프로그래밍에서 부모클래스의 멤버를 자식클래스에게 물려주는 것. 중복되는 코드를 줄여주며 유지 보수시간을 최소화한다는 장점이 있다. 클래스 상속 : 자식클래스 선언 시 어떤 부모 클래스를 상속받을 지 선택한뒤 extends 뒤에 부모클래스를 기술한다. ex) class 자식클래스 extends 부모클래스 { //필드 //생성자 //메소드 } 상속의 특징 1. 한개의 부모클래스만 상속받을 수 있다. 2. 부모클래스에서 private접근 제한을 갖는 필드와 메소드는 상속대상에서 제외된다. 3. 부모와 자식 클래스가 다르 패키지에 존재할 경우 default접근 제한을 갖는 필드와 메소드 역시 상속대상에서 제외된다. public class CellPhone { //필드 String mod..
자바 기초 : 상속핵심개념 상속 : 객체지향프로그래밍에서 부모클래스의 멤버를 자식클래스에게 물려주는 것. 중복되는 코드를 줄여주며 유지 보수시간을 최소화한다는 장점이 있다. 클래스 상속 : 자식클래스 선언 시 어떤 부모 클래스를 상속받을 지 선택한뒤 extends 뒤에 부모클래스를 기술한다. ex) class 자식클래스 extends 부모클래스 { //필드 //생성자 //메소드 } 상속의 특징 1. 한개의 부모클래스만 상속받을 수 있다. 2. 부모클래스에서 private접근 제한을 갖는 필드와 메소드는 상속대상에서 제외된다. 3. 부모와 자식 클래스가 다르 패키지에 존재할 경우 default접근 제한을 갖는 필드와 메소드 역시 상속대상에서 제외된다. public class CellPhone { //필드 String mod..
2023.03.11 -
핵심개념 패키지 : 프로젝트 개발 시 클래스를 체계적으로 관리하기 위해 패키지를 사용하며, 클래스와 클래스의 멤버를 사용범위에 맞게 접근 제한자를 활용해야한다. 패키지의 물리적인 형태는 파일 시스템의 폴더이고 패키지는 클래스의 일부분으로 클래스를 유일하게 만들어주는 식별자 역할을 한다. 클래스의 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식하며 클래스의 전체 이름은 패키지+클래스 이름이며 패키지의 상하위 구분은 .으로 한다. 패키지 선언 : 클래스를 작성할 때 해당 클래스가 어떤 패키지에 속할 것인지를 선언하는 것 ex) package 상위패키지.하위패키지; public class ClassName {...} 패키지 이름 규칙 1. 숫자로 시작x, $ 또는 _ 제외 특수문자 사용 불가 2. ja..
자바 기초 : 패키지와 접근 제한자핵심개념 패키지 : 프로젝트 개발 시 클래스를 체계적으로 관리하기 위해 패키지를 사용하며, 클래스와 클래스의 멤버를 사용범위에 맞게 접근 제한자를 활용해야한다. 패키지의 물리적인 형태는 파일 시스템의 폴더이고 패키지는 클래스의 일부분으로 클래스를 유일하게 만들어주는 식별자 역할을 한다. 클래스의 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식하며 클래스의 전체 이름은 패키지+클래스 이름이며 패키지의 상하위 구분은 .으로 한다. 패키지 선언 : 클래스를 작성할 때 해당 클래스가 어떤 패키지에 속할 것인지를 선언하는 것 ex) package 상위패키지.하위패키지; public class ClassName {...} 패키지 이름 규칙 1. 숫자로 시작x, $ 또는 _ 제외 특수문자 사용 불가 2. ja..
2023.03.08 -
핵심개념 인스턴스 멤버 : 객체마다 가지고 있는 멤버.(객체(인스턴스)를 생성 후 사용할 수 있는 필드와 메소드) - 인스턴스 필드 : 힙영역의 객체마다 가지고 있는 멤버, 객체마다 다른 데이터를 저장 - 인스턴스 메소드 : 객체가 있어야 호출 가능한 메소드. 클래스코드(메소드영역)에 위치. 메소드는 코드 블록이므로 객체마다 동일한 코드 블록을 가지고 있을 필요가 없다. ex) public class Car{ //필드 int gas; //메소드 void setSpeed(in speed){...} } ----------------------------------------------------- Car myCar = new Car(); myCar.gas = 10; myCar.setSpeed(60); Car..
자바 기초 : 인스턴스 멤버와 정적 멤버핵심개념 인스턴스 멤버 : 객체마다 가지고 있는 멤버.(객체(인스턴스)를 생성 후 사용할 수 있는 필드와 메소드) - 인스턴스 필드 : 힙영역의 객체마다 가지고 있는 멤버, 객체마다 다른 데이터를 저장 - 인스턴스 메소드 : 객체가 있어야 호출 가능한 메소드. 클래스코드(메소드영역)에 위치. 메소드는 코드 블록이므로 객체마다 동일한 코드 블록을 가지고 있을 필요가 없다. ex) public class Car{ //필드 int gas; //메소드 void setSpeed(in speed){...} } ----------------------------------------------------- Car myCar = new Car(); myCar.gas = 10; myCar.setSpeed(60); Car..
2023.03.07 -
핵심개념 메소드 : 객체의 동작에 해당하는 {} 블록 메소드의 구성 : 메소드는 선언부와 실행블록으로 구성 메소드 선언부(=메소드 시그니터) -리턴타입 : 메소드가 리턴하는 결과의 타입을 표시 -메소드 이름 : 메소드의 기능이 드러나도록 식별자 규칙에 맞게 이름을 지음 -매개변수 선언 : 메소드 실행할 때 필요한 데이터를 받기위한 변수 선언 메소드 실행 블록 : 실행할 코드를 작성 리턴타입 : 메소드를 실행한 후 결과값의 타입. 리턴값은 없을 수도 있으나 없는 경우 리턴타입의 선언부에 void를 명시해야한다. ex) powerOn()메소드 -> 리턴값 없음. void powerOn() {...} ->호출-> powerOn(); ex) divide()메소드 -> 나눗셈의 결과 리턴필요 double divi..
자바 기초 : 메소드핵심개념 메소드 : 객체의 동작에 해당하는 {} 블록 메소드의 구성 : 메소드는 선언부와 실행블록으로 구성 메소드 선언부(=메소드 시그니터) -리턴타입 : 메소드가 리턴하는 결과의 타입을 표시 -메소드 이름 : 메소드의 기능이 드러나도록 식별자 규칙에 맞게 이름을 지음 -매개변수 선언 : 메소드 실행할 때 필요한 데이터를 받기위한 변수 선언 메소드 실행 블록 : 실행할 코드를 작성 리턴타입 : 메소드를 실행한 후 결과값의 타입. 리턴값은 없을 수도 있으나 없는 경우 리턴타입의 선언부에 void를 명시해야한다. ex) powerOn()메소드 -> 리턴값 없음. void powerOn() {...} ->호출-> powerOn(); ex) divide()메소드 -> 나눗셈의 결과 리턴필요 double divi..
2023.03.06 -
핵심개념 생성자 : new연산자로 호출되는 {}블록. 클래스로부터 new 연산자로 객체를 생성할 때 호출되어 객체의 초기화를 담당. 모든 클래스에 하나 이상 존재한다. ex) Car myCar = new Car(); 객체 초기화 : 필드를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 하는 것. 생성자를 실행하지 않으면 클래스로부터 객체를 만들 수 없다. new연산자에 의해 생성자가 성공적으로 실행 -> 힙 영역에 객체가 생성, 객체의 번지가 리턴 -> 리턴된 객체의 번지가 클래스 변수에 저장됨 기본 생성자 : 모든 클래스는 생성자가 반드시 있어야하며, 생성자를 하나 이상 가질 수 있다. 만약 클래스 내부에 생성자 선언을 생략할 경우 컴파일러에 의해 바이트코드에 내용이 비어있는 기본생성자를 자동으로..
자바 기초 : 생성자핵심개념 생성자 : new연산자로 호출되는 {}블록. 클래스로부터 new 연산자로 객체를 생성할 때 호출되어 객체의 초기화를 담당. 모든 클래스에 하나 이상 존재한다. ex) Car myCar = new Car(); 객체 초기화 : 필드를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 하는 것. 생성자를 실행하지 않으면 클래스로부터 객체를 만들 수 없다. new연산자에 의해 생성자가 성공적으로 실행 -> 힙 영역에 객체가 생성, 객체의 번지가 리턴 -> 리턴된 객체의 번지가 클래스 변수에 저장됨 기본 생성자 : 모든 클래스는 생성자가 반드시 있어야하며, 생성자를 하나 이상 가질 수 있다. 만약 클래스 내부에 생성자 선언을 생략할 경우 컴파일러에 의해 바이트코드에 내용이 비어있는 기본생성자를 자동으로..
2023.03.03 -
핵심개념 필드 : 객체의 고유데이터, 객체가 가져야할 부품, 객체의 현재 상태 데이터 등을 저장하는 곳 ex) 자동차 객체의 고유데이터(제작회사, 모델명, 최고속도 등), 상태데이터(현재 속도), 부품데이터(엔진, 핸들) 필드 선언 : 필드는 클래스 {} 블록 어디서든 존재 가능. 그러나 생성자와 메소드 중괄호 블록 내부에는 선언 불가.(생성자와 메소드 중괄호 내부에 선언 시 로컬변수가 된다.) 유의할 점은 필드 선언이 변ㅅ의 선언형태와 유사하다는 점이지만, 변수가 아니라는 점이다. 타입은 필드에 저장할 데이터의 종류를 결정하는데, 타입에는 기본타입과 참조타입이 모두 올 수 있다. 또한 필드의 초기값은 주어질 수도, 생략될 수도 있는데 초기값이 지정되지 않은 필드는 객체 생성 시 자동으로 기본 초기값을 ..
자바 기초 : 필드핵심개념 필드 : 객체의 고유데이터, 객체가 가져야할 부품, 객체의 현재 상태 데이터 등을 저장하는 곳 ex) 자동차 객체의 고유데이터(제작회사, 모델명, 최고속도 등), 상태데이터(현재 속도), 부품데이터(엔진, 핸들) 필드 선언 : 필드는 클래스 {} 블록 어디서든 존재 가능. 그러나 생성자와 메소드 중괄호 블록 내부에는 선언 불가.(생성자와 메소드 중괄호 내부에 선언 시 로컬변수가 된다.) 유의할 점은 필드 선언이 변ㅅ의 선언형태와 유사하다는 점이지만, 변수가 아니라는 점이다. 타입은 필드에 저장할 데이터의 종류를 결정하는데, 타입에는 기본타입과 참조타입이 모두 올 수 있다. 또한 필드의 초기값은 주어질 수도, 생략될 수도 있는데 초기값이 지정되지 않은 필드는 객체 생성 시 자동으로 기본 초기값을 ..
2023.03.02