전체 글
-
[JAVA]객체 지향 디자인 패턴 - Singleton Pattern프로그래밍/Java 2022. 3. 22. 14:20
Singleton Pattern - 생성패턴의 일종으로 기초가 되는 가장 쉬운 디자인 패턴 하지만, 많이 중요한 디자인 패턴 - 프로그램에서 존재해야 하지만 객체 하나만 할당 받아 사용해야하는경우 - 생성된 객체가 어디에서든지 참조가 가능해야함 Singleton Structure - 싱글턴 구조는 하나의 객체가 있어야 하며, 한번만 생성되는 영역이 있어야함 - 그리고 다른 곳에서(FirstPage, SecondPage)에서 그 영역에 공통적으로 접근이 가능해야하며 동일 값을 가져 올 수 있도록 해야함 Singleton Example 1 (출처. 얄팍코딩) - settings라는 객체가 있다고 가정 - settings에 화면 darkmode, lightmode가 있다고 하고 이것을 darkmode로 설정하..
-
intellij 단축키 windows 버전개발일기 2022. 3. 22. 12:53
포커스 이동하기 alt+1 : 파일쪽으로 커서 가기 spacebar : 파일 미리보기 java 기본메서드 생성 psvm : main 메서드 만들어줌 자동 완성 sout : system print out 자동 완성 퀵픽스 (에러 제거) ctrl + b : 메서드 세부내용 바로가기 alt + enter : 리스트 형식으로 알려줌 import 최적화 ctrl + alt + O : import 회색은 사용하지 않는다는 것 이것을 다 지워줌 alt + Ins : 코드 생성 (getter, setter, 등등) ctrl + O : override 메서드 자동완성(상속, 인터페이스) ctrl + I : import 키 구문 완성 shift + ctrl + enter : 구문 자동완성 대체하기(변수명이나 다른 부분 잘..
-
[Java Interface] 인터페이스를 사용하는 이유프로그래밍/Java 2022. 3. 20. 13:04
인터페이스(Interface) 구현 코드가 없는 메서드들의 집합을 의미함. 모든 메서드가 추상 메서드로 선언됨 적지 않아도 추상 메서드로 JVM에서 알아서 선언 모든 변수는 상수로 선언됨 모든 인터페이스는 형변환이 가능 형변환해서 사용한다고 하면, 상위 인터페이스 객체로 만들면 상위 인터페이스에 있는 메서드만 사용가능하고 하위클래스에서 만든 함수는 사용하지 못함 인터페이스 사용법 interface로 생성된 곳에 상속받아 구현할 메서드의 내용만 작성함 implements를 사용하여 상속을 받음 하위클래스에서 interface에 정의된 내용을 일부분만 구현을 한다면 abstract를 사용하여 처리해야함, 다 구현을 한다면 abstract를 정의 하지 않아도됨 인터페이스를 사용하는 이유 클래스나 프로그램이 제..
-
[JAVA abstract]추상화 클래스 , 메서드 알아보기프로그래밍/Java 2022. 3. 20. 11:15
추상화 클래스 구현 코드 없이 메서드의 선언만 있는 추상메서드를 포함한 클래스 메서드 선언 반환타입, 메서드 이름, 매개변수로 구성 메서드 정의 네서드구현과 동일 한 의미 구현부를 가짐 추상 클래스는 new할 수 없음(인스턴스 생성 x) 추상클래스 사용 방법 클래스 앞에 abstract를 붙인다 추상 메소드가 있어야 한다. 하위 클래스에서 추상화가 적용된 부분을 모두 재구성하여 사용한다면 abstract를 사용하지 않아도 된다. 하위 클래스에서 추상화가 적용된 부분을 모두 재구성하지 않는다면 abstract를 클래스와 함수에 붙여두어야한다. 안그럼 오류 발생 //추상 클래스 public abstract class Computer { public abstract void display(); public a..
-
[Java Overriding] 오버라이딩과 다형성프로그래밍/Java 2022. 3. 20. 10:50
오버라이딩(Overridng) 오버라이딩은 상속관계에서 하위 클래스가 상위 클래스의 함수를 재정의 하여 사용하고 싶을 때 사용한다. 오버라이딩은 상속을 받은 객체에서 함수위에 @Override이라는 표시를 해주어야 하며, 상위 객체의 함수 명과 형식이 똑같아야 사용가능하다. 다른경우 다른 함수로 취급된다. 상속관계에서 객체를 생성할 때 형변환 하여도 new에 적힌 객체의 함수가 호출이 된다.(가상 메서드 활용하기 때문) 재정의 하지 않고 그냥 동일하게 사용하고 싶다면 super.함수()를 사용한다. 그런데 굳이 이렇게 사용하지 않는다. 예제 Customer라는 객체 클래스에서 CalcPrice라는 함수를 재정의 하여 사용해보자. public class Customer { protected int cust..
-
[Java ] 클래스 상속 및 상속을 사용하는 이유프로그래밍/Java 2022. 3. 20. 10:37
상속 상속이란? 미리 정의된 내용을 하위 클래스에서 받아서 재정의 및 재사용하는 행위를 일컸는다. JAVA에서 상속 클래스 하나당 한번씩만 상속이 가능하다. 여러번 상속받는 개념은 인터페이스에서 가능하다. 상속에서 구현할 내용은 상위 클래스 속성을 private 을 사용하지 않고 같은 패키지나 하위 클래스에서 사용가능한protected를 사용한다. 상위 클래스의 내용을 재정의 할 때는 super()로 정의 한 다음 작성하지 않는 경우 JVM에서 임의로 컴파일 한다. 상속받는 하위 클래스에서 생성자는 기본적으로 묵시적 생성이 되지만, 변화가 있을 경우 명시적으로 표현해 주어야한다. 고객관리 프로그램 예제 상품을 파는 쇼핑몰에서 Customer라는 객체가 있고 이는 일반 고객이다. Customer라는객체를 ..
-
[Java 객체지향 입문 ] 객체간의 협력프로그래밍/Java 2022. 3. 17. 13:07
객체간의 협력이란? 저는 객체간의 협력이 일상생활에서 사용되는 협력관계를 코드로 구현하기 위한 노력이라고 생각합니다. 바로 예로 보시는게 이해하기 빠를 것같습니다. 학생이 도서관에서 2권의 책을 빌렸다고 생각해 봅시다. 그럼 이 부분을 코드로 구현하기 위해서는 학생, 도서관이라는 객체가 필요 하며 둘다 책이라는 속성이 필요 합니다. 객체를 만든 코드를 보면 아래와 같이 작성 할 수 있습니다. //Student.java public class Student{ String studentName; int bookCount; public Student(String studentName, int bookCount) { this.studentName = studentName; this.bookCount = book..
-
[Java] 객체지향언어 입문프로그래밍/Java 2022. 3. 16. 19:30
목차 객체란? java 객체지향언어의 클래스 클래스 내용 표시조건 생성자, 인스턴스, 함수, 멤버변수, 지역변수 객체란? 객체는 일상생활에서 표현 할 수 있는 단위라고 생각하고 있습니다. 학생이 도서관을 가서 3권의 책을 빌렸다. 라는 문장이 있을 때 학생, 도서관, 책이라는 것이 객체로 볼 수 있습니다. java 객체지향언어의 클래스 객체 클래스를 만들때 객체의 내용을 파악하고 그 안에 표기해야할 필요한 정보들(이하 속성들(=필드))을 정의하여 사용하는 것이라고 생각하시면 됩니다. 학생을 예로 들면 학생이라는 클래스가 만들 수 있고, 그 안에 학생번호, 학생이름, 성별, 나이, 빌린책id 등이 속성으로 가질수 있습니다. //클래스 public class Student { //속성(멤버 변수) int s..