All Categories

· Java
1. finalfinal 키워드가 붙으면 더 이상 변경 불가능 함!클래스, 메서드 포함 여러곳에 사용 가능 1-1. final 변수1-1-1. final 지역 변수 (매개변수)public static void main(String[] args) { // final 지역 변수 final int data1; data1 = 10; ~~data1 = 20;~~ // final 변수 값을 변경하면 컴파일 오류 발생! // final 지역 변수 final int data2 = 10; ~~data2 = 20;~~ // final 변수 값을 변경하면 컴파일 오류 발생! } // final 매개 변수static void method(final int parameter) { ~~pa..
· Java
1. static주로 멤버 변수와 메서드에 사용 1-1. static 변수특정 클래스에서 공용으로 사용할 수 있는 변수static 변수 / 정적 변수 / 클래스 변수 라고 함 1-1-1. static 변수 예시 (몇 개의 객체가 생성되었는지 count하고 싶음)잘못된 예시 (static 사용 x)public class Person { public String name; public int count; public Person(String name) { this.name = name; count ++; }}public class Main { public static void main(String[] args) { // 객체 생성 - 1 Person person1 = new Person("A"); ..
· Java
1. 추상화클래스 간 공통 속성을 찾아내서 공통 조상을 만드는 것 1-1. 추상화 예시 - 시작public class Animal { public void sound() { System.out.println("동물 울음 소리"); }}public class Dog extends Animal { @Override public void sound() { System.out.println("월월"); }}// Cat, Cow 클래스 구현 ...개, 고양이, 소 ⇒ 실존 o동물 ⇒ 추상적인 개념일 뿐, 실존 x             직접 인스턴스 생성(사용) 하지는 않음!!개, 고양이, 소 클래스에서 메서드 오버라이딩 하지 않으면 동물 클래스의 메서드가 실행됨📌 위의 예시와 같이1. Animal 인스턴스 ..
· 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; }} 멤버 변수와 메서드의 매개변수 우선순위매개변수..
공대생안씨
'분류 전체보기' 카테고리의 글 목록 (6 Page)