목록자바 (18)
개발새발
내부 클래스 (Inner Class) 클래스 내에 선언된 클래스 내부 클래스는 외부 클래스의 멤버들을 쉽게 접근 할 수 있고, 코드의 복잡성을 줄일 수 있다 class Outer { // 외부 클래스 class Inner { // 인스턴스 내부 클래스 } static class StaticInner { // 정적 내부 클래스 } void run() { class LocalInner { // 지역 내부 클래스 } } } 종 류 선언 위치 사용 가능한 변수 인스턴스 내부 클래스(instance inner class) 외부 클래스의 멤버변수 선언위치에 선언(멤버 내부 클래스) 외부 인스턴스 변수, 외부 전역 변수 정적 내부 클래스(static inner class) 외부 클래스의 멤버변수 선언위치에 선언(멤버..
제레닉 (Generic) 클래스 내부에서 사용할 데이터 타입을 외부에서 파라미터 형태로 지정하면서 데이터 타입을 일반화 한다 제네릭 없이 객체에 여러 자료형을 받을 수 있도록 하여면 int,float,string등 모든 자료형에 대해 클래스를 하나씩 만들어야 한다 제네릭을 사용하면 가상의 자료형을 정의 후, 객체를 정의할 때 타입 매개변수를 선언하여 사용한다 제네릭은 클래스 & 인터페이스 뒤에 안에. 타입 파리미터를 넣어 작성한다 변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러 자료형을 변환 될 수 있도록 프로그래밍 하는것 Static 이 있으면 사용불가 public class 클래스명{ ... } public interface 인터페이스명{ ... } 장점 1. 타입체크와 형변환을 ..
오늘은 하루종일 복습만 했다 다시보면서 정리된 개념도 있고 아닌것도 많다 근데 이제 딱히 뒤처진다고 생각하지 않기로 했다 나보다 더 힘들어 하는 사람도 있고 4년동안 국시만 위해서 공부해본적도 있는데 1년 못하겠냐는 생각이 든다 OOP 객체지향 프로그래밍 기초 객체 주변에서 흔히 볼 수 있는 ‘모든 실재하는 어떤 대상’ 눈에 보이지 않는 어떤 논리나 개념 같은 것들도 객체 우리가 보고 느끼고 인지할 수 있는 모든 것을 의미 객체지향 실제 세계는 이러한 객체들로 구성되어 있으며, 발생하는 모든 사건들은 이 객체들 간의 상호작용을 통해 발생한다 구현에 필요한 객체를 파악하고 각가가의 객체들의 역할이 무억인지를 정의하여 객체들 간의 상호작용을 통해 프로그램을 만든다 객체는 클래스(class)라는 틀에서 생겨난..
class Person{ // Person class를 만든다 String name; // 매개변수로 받는 것들을 선언해준다 String job; int age; String address; public Person(String name, String job, int age, String address){ this.name =name; //인자로 들어온게 this.name을 써서 매개변수한테 알려준다 this.job =job; this.age = age; this.address = address; } void eat() { //instance의 메서드니까 static없이 쓴다 System.out.println("밥을 먹고"); } void money() { System.out.println("돈을 벌고"..
다형성 하나의 객체가 여러 가지 형태를 가질 수 있다 한 타입의 참조변수를 통해 여러 타입의 객체를 참조할 수 있도록 하는것 상의 클래스의 타입의 참조변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 한다 *참조변수가 사용할 수 있는 멤버의 개수는 실제 객체의 멤버 개수보다 같거나 적어야한다 class Car { public void aa() { System.out.println("나는 자동차”); } } class Audi extends Car{ @Override public void aa() { System.out.println("나는 아우디.”); } } class Benz extends Car { @Override public void aa() { System.out.println("나는 벤츠..
오늘은 생성자다 아직 어제의 클래스와 객체도 완벽하게 이해하지 못했는데 오늘 또 새로운게 시작됐다 내가 배우고 싶어서 내가 하고싶어서 하는 공부이지만 많이 어렵다 이걸 이해 못하는 내가 너무 화난다 계속 나만 모르나, 나만 여기서 해메고있나 그런 생각들이 든다 뒤처지는 느낌이다 이걸 이겨내려면 그냥 해야된다 계속 하다보면 이해된다 그냥 하자 그만 찡찡거리고 하면 다 된다 생성자(Constructor) 객체를 생성하는 역할을 하는 클래스의 구성 요소 (난 이걸 클래스내에 있는 세부적인 설계도라고 생각하기로 했다) new 키워드를 사용하여 객체를 생성할 때에 호출되는 것이 생성자 기본생성자 VS 매개변수가 있는 생성자 이렇게 둘로 특징 생성자는 반환값이 없지만, 반환 타입을 void형으로 선언하지 않는다 생..
오늘은 객체지향 프로그래밍(OOP, Object Oriented Programming)가 무엇인지 학습하는 날이다 내가 생각한 객체지향 프그래밍은 레고이다 레고는 한 조각조각 모두 각자의 쓰임이 있다 그것들을 합치면 또 다른 쓸모있는 무언가를 만들 수 있다 사용할 수 있는 실체 클래스(Class) 객체를 정의한 '설계도', '틀' 클래스는 객체가 될 수 없다 클래스는 붕어빵 틀 -----> 그 틀로 만들어진 붕어빵은 인스턴스(인스턴스화) 구성 요소 필드 - 클래스의 속성을 나타내는 변수/ 차로 예를 들면 모델명, 컬러, 바퀴의 수 등이 포함될 수 있습니다. 메서드 - 클래스의 기능을 나타내는 함수/ 차를 예로 들면 시동하기, 가속하기, 정지하기 등이 포함될 수 있습니다. 생성자 - 클래스의 객체를 생성하..
자바 JAVA -운영체제에 독립적 -객체 지향 언어(Object Oriented Programming, OOP) -함수형 프로그래밍 지원 -자동 메모리 관리(Garbage Collection) 타입 정수 실수 논리 문자 or 문자열 변수 상수 타입 변환 연산자 제어문 if문 switch문 반복문 for문 while문 do while문 오늘은 위에 써져있는것을을 배웠다 내용은 나중에 더 채워넣을거다 오늘 진짜 페어분한테 완전 특강을 받았다 물론 나도 공부를 해왔다 하지만 글로는 이해가 다 가지만 그걸 코드로 옮기려 할 때 어떤걸 뭐라 써야하는지 엄청 막막했다 페어분께서 답을 알려준게 아닌 내가 혼자 생각해서 코드를 작성할 수 있도록 힌트를 지속적으로 주면서 혼자 생각하는 힘을 기르게 해줬다 내가 페어한테 ..