Java

· Java
1. 다형성“다양한 형태”, “여러 형태”한 객체가 여러 타입의 객체로 취급될 수 있는 능력다형성 이루는 핵심 이론다형적 참조메서드 오버라이딩 1-1. 다형적 참조📌 "부모는 자식 (자신 기준 모든 자식 타입) 을 담을 수 있다"public class Parent { public void parentMethod() { System.out.pritnln("Parent.parentMethod"); }}public class Child extends Parent { public void childMethod() { System.out.println("Child.childMethod"); }} 1-1-1. 부모 변수 → 부모 인스턴스 참조Parent parent = new Parent();parent.pa..
· Java
1. 상속기존 클래스의 필드와 메서드를 새로운 클래스에서 재사용하게 해 줌“기존 클래스의 속성과 기능을 물려받는 것”extends 키워드 사용extends : -> (”내가 상대방을 안다”) 라고 생각 가능public class ElectricCar extends Car// public class ElectricCar -> Car 라고 생각 가능 📌 상속관계 용어부모 클래스 (슈퍼 클래스)    - 상속을 통해 자신의 필드와 메서드를 물려주는 클래스    - 자식 클래스에 대해 전혀 모름자식 클래스 (서브 클래스)    - 부모 클래스에게서 필드와 메서드를 상속받는 클래스 상속 예시 구조도상속 예시 코드public class Car { public void move() { System.out.prin..
· Java
1. 캡슐화객체 지향 프로그래밍의 중요한 개념 중 하나데이터와 해당 데이터를 처리하는 메서드를 하나로 묶어서 외부에서의 접근을 제한하는 것데이터의 직접적인 변경 방지 / 제한 가능 📌 좋은 캡슐화     : 데이터는 모두 숨기고, 꼭 필요한 기능만 노출하는 것 1-1. 캡슐화와 데이터객체 ⇒ 필수로 데이터를 숨겨라!데이터가 외부에서 접근 가능하면 클래스 내부의 (데이터 변경) 기능을 무시한 채 데이터를 직접 변경 가능 ⇒ 캡슐화가 깨짐! “객체의 데이터는 객체가 제공하는 기능(메서드) 을 통해서만 접근해야 한다.” ⇒ 데이터는 가급적 모두 private 으로! 1-2. 캡슐화와 기능가급적 필요한 기능만 노출나머지 기능은 최대한 많이 숨겨라! 1-3. 캡슐화 좋은 예시은행 계좌 클래스 예시public c..
· Java
1. 접근 제어자해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 허용 or 제한좋은 프로그램이란?: 무한한 자유도가 주어지는 프로그램이 아니다.⇒ 적절한 제약을 제공하는 프로그램이 좋은 프로그램이다! 1-1. 접근 제어자 종류private모든 외부 호출을 막음클래스 안으로 숨길 때 사용(default)(package-private) 이라고도 함같은 패키지 안에서는 허용패키지 안으로 숨길 때 사용protected같은 패키지 안에서 호출 허용(패키지가 달라도) 상속 관계 호출 허용상속 관계로 숨길 때 사용public모든 외부 호출 허용숨기지 않을 때 사용📌 차단 순       private > (default) > protected > public 1-2. 접근 제어자 사용 위치클래스클래스 레벨의..
· Java
1. 생성자1-1. 생성자는 왜 필요한가?객체를 생성하고 나면 멤버 변수 값을 초기화 해야 함생성자가 없다면? ⇒ 객체의 멤버 변수 초기화 과정을 반복해야 함(객체 지향 프로그래밍) 객체 생성 시점에 객체가 자기 자신의 데이터를 초기화하는 기능 ⇒ 생성자 통해서! 1-2. this"자기 자신 객체 (인스턴스) 의 참조"public class Student { String name; int age; int grade; void initStudent(String name, int age, int grade) { // this : 자기 자신 객체를 가리킴 this.name = name; this.age = age; this.grade = grade; }} 멤버 변수와 메서드의 매개변수 우선순위매개변수..
· Java
1. 객체 지향 프로그래밍 1-1. 절차 지향 프로그래밍절차를 지향 ⇒ 실행 순서를 중요하게 여김프로그램의 흐름을 순차적으로 따르며 처리하는 방식어떻게 를 중심으로 개발 1-2. 객체 지향 프로그래밍객체를 지향 ⇒ 객체를 중요하게 여김사물이나 사건등을 객체로 봄 ⇒ 객체들 간의 상호작용을 중심으로 프로그래밍무엇 을 중심으로 개발 1-3. 절차 지향 프로그래밍 vs 객체 지향 프로그래밍 📌 정리) 객체 지향 프로그래밍클래스를 사용하는데 필요한 모든 속성(멤버변수) 과 기능 (메서드) 이 하나의 클래스에 포함=> 클래스를 사용하는 입장 : 클래스 내부에 어떤 속성(데이터)이 있는지 몰라도 됨                                            단지 필요한 기능만 호출해서 사용만 하..
· Java
1. 기본형, 참조형기본형 (Primitive Type)사용하는 값을 변수에 직접 넣음int, long, double, boolean 등참조형 (Reference Type)객체가 저장된 메모리의 위치를 가리키는 참조값(주소)를 넣음클래스(객체), 배열, String 2. 기본형 vs 참조형2-1. 전체적인 차이점  기본형참조형이름모두 소문자로 시작 (int, long, double … )클래스는 대문자로 시작 (Student, Person … )사용자 정의사용자가 정의 불가클래스만 직접 정의 가능 2-2. 차이점 - 변수 대입📌 자바 대원칙"자바는 항상 변수의 값을 복사해서 대입한다"변수 대입 기본형참조형변수 대입변수에 들어있는 실제 값을 복사해서 대입변수에 들어있는 참조값을 복사해서 대입Student..
· Java
1. 클래스가 필요한 이유학생 정보를 관리할 때 ⇒ 배열 여러개 사용해서 이름, 나이, 성적 등을 관리한다면?데이터 관리하기에 매우 복잡함학생이라는 개념을 하나로 묶는 것이 관리하기 좋음!📌 데이터를 상위 개념으로 묶어서 관리하기 좋은 것이 클래스 2. 클래스 (Class)객체를 생성하기 위한 ‘틀’ or ‘설계도’객체가 가져야 할 속성 (변수) 과 기능 (메서드) 를 정의함 2-1. 클래스와 사용자 정의 타입타입 : 데이터 종류 or 형태클래스 사용 ⇒ 사용자가 정의하는 타입을 만들 수 있음사용자 정의 타입을 만들기 위한 설계도 ⇒ “클래스”클래스 사용해서 실제 메모리에 만들어진 실체를 “객체” or “인스턴스” 라고 함 3. 클래스 선언클래스 선언 방법// 클래스 선언접근제어자 class 클래스이름..
공대생안씨
'Java' 카테고리의 글 목록 (2 Page)