목록자바 (9)
멋쟁이v의 개발일지
[목차]01. 상속02. 인터페이스 01. 상속1) 상속 개념💡부모 클래스의 필드와 메소드를 자식 클래스에게 물려줄 수 있습니다.이미 개발된 클래스를 재사용하므로 중복 코드를 줄인다.클래스 수정을 최소화 한다.2) 클래스 상속자식 클래스를 선언할 때 어떤 부모로부터 상속받을 것인지를 결정하고, 부모 클래스를 다음과 같이 extends 뒤에 기술한다. ex) public class 자식클래스 extends 부모클래스 { … }다중 상속을 허용하지 않음. extends 뒤에 하나의 부모 클래스만 상속한다.3) 부모 생성자 호출자식 객체를 생성하면 부모 객체가 먼저 생성된 다음에 자식 객체가 생성된다.부모 생성자는 자식 생성자의 맨 첫 줄에 숨겨져 있는 super()에 의해 호출된다.4) 메소드 재정의💡메소드..
[목차]01. 객체 지향 프로그래밍02. 객체와 클래스03. 클래스 선언04. 객체 생성과 클래스 변수05. 클래스의 구성 멤버06. 필드 선언과 사용07. 생성자 선언과 호출08. 메소드 선언과 호출09. 인스턴스 멤버10. 정적 멤버11. final 필드와 상수12. Getter와 Setter13. 싱글톤 패턴 01. 객체 지향 프로그래밍객체(Object)👉🏻객체란 물리적으로 존재하거나 개념적인 것 중에서 다른 것과 식별 가능한 것 객체는 속성과 동작으로 구성. 자바는 이러한 속성과 동작을 각각 필드와 메소드라고 부른다. 객체 지향 프로그래밍(OOP)👉🏻객체들을 먼저 만들고, 이 객체들을 하나씩 조립해서 완성된 프로그램을 만드는 기법 객체의 상호작용👉🏻객체 지향 프로그램에서도 객체들은 다른 객체와 서..
[목차]01. 변수와 타입02. 연산자 01. 변수와 타입1) 변수 선언💡변수란 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름입니다.변수 변수를 사용하려면 변수 선언이 필요하고, 어떤 타입의 데이터와 변수 이름을 저장할 것인지 결정변수에 최초로 값이 대입될 때 메모리에 할당 되고, 해당 메모리에 값이 저장된다. 2) 정수 타입💡byte, short, char, int, long 타입타입에 따라 저장할 수 있는 값의 종류와 허용 범위가 달라짐정수 타입은 5개로 메모리 할당 크기와 저장되는 값의 범위가 다름 (char 타입도 정수 타입에 속함) 3) 문자 타입💡문자 리터럴과 char 타입문자 리터럴 : 하나의 문자를 작은 따옴표로 감싼 것문자 리터럴을 유니코드로 저장할 수 있도록 char 타입 제공..
[목차]01. 조건문과 반복문02. 참조 타입 01. 조건문과 반복문1) 코드 실행 흐름 제어👉🏻실행 흐름 : main() 메소드의 시작 중괄호에서 끝 중괄호까지 위부터 아래로 실행되는 흐름 흐름 제어문 : 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것 루핑 : 반복문이 실행 완료된 경우 제어문 처음으로 다시 되돌아가 반복 실행되는 것 2) if 문💡조건식의 결과에 따라 블록 실행 여부가 결정된다. ➡️ 조건식에는 true 또는 false 값을 산출할 수 있는 연산식이나 boolean 변수가 올 수 있음➡️ if-else 문 : 조건식이 true이면 if문 블록이 실행되고, false이면 else 블록이 실행 3) switch 문💡괄호 안의 변수값에 따라 해당 case로 가서 실행문을 ..
[목차]01. 서로다른 클래스의 메서드 선언 및 호출02. 서로다른 패키지/클래스 메서드 선언 및 호출 01. 서로다른 클래스의 메서드 선언 및 호출💡객체 생성 후 객체참조변수에 따라가서 선언된 메서드를 호출합니다.하나의 패키지내 서로 다른 클래스 (main 메서드 포함 클래스)➡️ [코드예제] AA01.javapackage kr.or.ksmart.a; public class AA01_1 { public static void main(String[] args) { // a 메서드 호출 BB01_1 b = new BB01_1(); b.a(); } } ➡️ [코드예제] AA02.javapackage kr.or.ksmart.a; public class AA02_2 { public static void main..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pMHbC/btsdJpZI4KQ/JlPqpnTUh9KlyQGdDjFEf1/img.png)
[목차]01. 접근제어자(Access Modifier)02. DTO(Data Transfer Object)03. 두개 클래스를 메서드 setters/getters로 캡슐화04. 서로다른 클래스의 메서드 선언 및 호출 01. 접근제어자(Access Modifier)💡접근 영역 : public > protexted > default > private1️⃣ public👉🏻모든 접근을 허용합니다. 어떠한 클래스가 접근을 하든 모두 허용 됩니다. 2️⃣ protected👉🏻상속받은 클래스 또는 같은 패키지에서만 접근이 가능합니다. 3️⃣ default👉🏻기본 제한자로써 아무것도 붙지 않고, 자신 클래스 내부와 같은 패키지 내에서만 접근이 가능합니다. 4️⃣ private👉🏻외부에서 접근이 불가능합니다. 즉, 같은..
[목차]01. 객체 주소 생성 과정02. 클래스와 객체, 전역변수 값(1)03. 클래스와 객체, 전역변수 값(2)04. 클래스와 객체, 전역변수 값(3) 01. 객체 주소 생성 과정💡클래스를 통해서 객체를 생성하면 주소가 생기고, 주소내에 데이터 영역과 메서드 영역이 존재하는데, 데이터 영역의 값을 세팅하려면 생성된 주소내에 데이터 영역에 값을 할당해주고, 값을 찾으려면 다시 주소를 찾고, 데이터 영역의 값을 찾아서 응용한다. 02. 클래스와 객체, 전역변수 값(1)1) 객체 생성 방법 (회원관리)👉🏻User u01 = new User();User 클래스 데이터 타입인 u01 객체참조변수를 선언하고, User()생성자 메서드를 호출해서 새로운 객체를 생성하고, 새로운 주소가 생성되는 곳엔 데이터영역과 메..
[목차]01. 메서드 선언 및 호출 4가지 방법 01. 메서드 선언 및 호출 4가지 방법[코드예제] 리턴 없고 입력 없는 메서드package kr.or.ksmart.a; public class AA01 { public static void main(String[] args) { // 메서드 호출 a(); } // 메서드 선언 public static void a() { System.out.println("01 a 메서드 실행"); } } [코드예제] 리턴 없고 입력 있는 메서드package kr.or.ksmart.a; public class AA01 { public static void main(String[] args) { // 메서드 호출 a("연습"); } // 입력이 있는 메서드 선언 public..
[목차]01. 메서드 호출의 원리02. 메서드 오버로딩03. data type 종류04. if, else if, else 문 01. 메서드 호출의 원리메서드 선언 예시public static void userlnsert(char b, int c, String d) { } public static void userlnsert2(String name, char gender, int age) { } 메서드 호출 원리👉🏻메서드 호출 원리 ➡️ 메서드명, 입력 갯수, data type 일치 public static void main(String[] args) { userlnsert('A', 10, "문자열1"); userlnser2("홍길동", '남', 30); } 02. 메서드 오버로딩💡하나의 클래스 내에서 메..