-
객체지향 프로그래밍(OOP)
OOP 특징 1. 캡슐화 속성과 기능을 하나의 객체인 클래스로 묶는 것 클래스로 묶어 정보은닉 가능 정보은닉 : 기능을 제공하고 상세한 구현은 감추는 것 외부의 영향 없이 객체 내부 구현을 유연하게 변경 가능 class Account { private Membership membership; private LocalDate expDate; public boolean hasRegularPermission() { return membership == REGULAR && expDate.isAfter(now()) } } 정회원의 조건이 ...
-
오버로딩 vs 오버라이딩
오버로딩(Overloading) : 기존에 없는 새로운 메서드를 정의 - 메서드 이름 같아야함. - 매개변수 타입이나 갯수가 달라야함. - 반환타입 상관없음. - 예외처리 상관없음. - 접근제한 상관없음. 오버로딩된 메서드 선택기준 1.호출시 입력된 자료형과 선언부의 선언된 자료형이 동일한 메서드 선택. 2.1의 조건이 없는 경우. - 최소 갯수로 오토캐스팅이 되는 매개변수를 가진 메서드를 선택. 3.주의사항 : 최소 갯수로 오토캐스팅이 되는 메서드가 여러개인 경우 오류 발생. 오버라이딩(Overriding) : 상속받은 메서드의 내용을 변경 - 메서드 이름 같...
-
클래스멤버와 인스턴스멤버 간의 참조와 호출
package ch06; public class MemberCallEx1 { static int cv1 = 10; static int cv2 = cv1; // 클래스멤버간 호출 int iv1 = 100; int iv2 = iv1; // 인스턴스멤버간 호출 int iv3 = cv1; // 클래스멤버 호출 (in 인스턴스멤버) // static int cv3 = iv1; // 인스턴스멤버 호출 (in 클래스멤버) --> 불가(인스턴스를 생성해야됨) static int cv3 = new MemberCallEx1().iv1; public static void main(String...
-
기본형 매개변수와 참조형 매개변수
public class ParameterEx1 { public static void main(String[] args) { Value v = new Value(); v.val = 100; change1(v.val); System.out.println("2. change1()이후 : " + v.val); change2(v); System.out.println("4. change2()이후 : " + v.val); } static void change1(int val) { val += 100; System.out.println("1. change1() : " + val); } ...
-
변수와 자료형
변수이름 예약어X, 숫자시작 X, 특수문자(_, $만 가능)-특수문자로 시작 가능 자바의 4요소 : 클래스, 변수, 메서드, 생성자 변수 기본형 : value저장 참조형 : 주소저장 int a; ->변수선언 a=1; -> 변수 할당(assign), 초기화(initialize) 자료형 1btye2btye4btye8btye문자형 char 정수형byteshortintlong실수형 floatdouble ※ byte < char&short < int < l...