분류 전체보기 (92) 썸네일형 리스트형 13. Object 클래스 및 메서드 활용 1. Object 클래스 모든 클래스의 최상위 클래스 1. java.lang.Object 클래스 2. 모든 클래스는 Object 클래스를 상속 받고, Object 클래스의 메서드 중 일부는 재정의 후 사용 가능 3. 컴파일러가 extends Object를 추가한다. java.lang 패키지 1. 프로그래밍시 import 하지 않아도 자동으로 import 된다.(import.java.lang) 2. 많이 사용하는 기본 클래스들이 속한 패키지(Object 포함됨) -> String, integer, System등 2. Object 클래스의 메서드 활용 toString() 메서드 1. 객체의 정보를 String으로 바꾸어서 사용할 때 쓰임 2. String 이나 integer 클래스는 이미 재정의 되어 있음 .. 12. 인터페이스(interface) 1. 인터페이스 인터페이스란? 추상 클래스(abstract class)와 마찬가지로 추상화된 데이터나 동작을 정의하는데 사용되는 중요한 개념 1. 모든 메서드가 추상 메서드로 선언됨 -> public abstract 2. 모든 변수는 상수로 선언됨 -> public static final 3. 자바 8부터 디폴트 메서드와 정적 메서드 기능 제공으로 일부 구현 코드가 있다. 인터페이스 구현 쩜쩜쩜 화살표는 구현이라는 뜻 오른쪽처럼 구현하면 implements를 사용해줘야함 // implements 키워드 // java에서 implements 키워드는 인터페이스를 구현할 때 사용, 클래스나 추상 클래스는 extends 키워드를 이용하여 상속받지만, 인터페이스는 implement 키워드를 이용하여 구현 즉, .. 11. 추상 클래스의 의미 및 응용 1. 추상 클래스 추상 클래스란? 구현 코드 없이 메서드의 선언만 있는 추상 메서드를 포함한 클래스 1. 메서드 선언 : 반환타입, 메서드 이름, 매개변수로 구성 2. 메서드 정의 : 메서드 구현과 동일한 의미 구현부를 가짐 -> {} 이 부분을 의미한다. ex) int add(int x, int y); // 이게 이제 선언 -> 추상 메서드 ex) int add(int x, int y){}; // 구현부가 있으므로 추상 메서드 X 3. abstract 예약어를 사용 4. 추상 클래스는 new 할 수 없다.(인스턴스화 할 수 없다 -> 구현부가 없으니!) 추상 클래스 구현하기 1. 메소드에 구현코드가 없다면 abstract로 선언 2. abstract로 선언된 메서드를 가진 클래스는 abstract로 선.. 10. 메서드 재정의(overring), 다형성, 다운 캐스팅 및 instanceof 1. 메서드 재정의 하기(overring) 하위 클래스에서 메서드 재정의 하기(오버라이딩) 상위 클래스에서 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메서드를 재정의 할 수 있음(오버라이딩시 반환값, 메서드 이름, 매개 변수 타입 및 개수 모두 같아야함) ex) VIPCustomer 클래스의 calcPrice()는 할인율이 적용되지 않는다 가정하고 재정의한다면 (vscode를 사용한다면 오른쪽 키 -> 소스 작업으로 쉽게 만들 수 있다) 위는 소스 작업으로 오버라이딩 코드를 구현한 것이고 이를 구체화한다면 이렇게 오버라이딩하면 된다. 근데 @Override 가 뭘까?? // 애노테이션 // @Override 이게 애노테이션 1. 애노테이션은 .. 9. 상속에서 클래스 생성 과정과 형 변환 1. 하위 클래스가 생성 되는 과정 하위 클래스를 생성하면 상위 클래스가 먼저 생성됨! ex) new VIPCustomer()를 호출하면 Customer() 가 먼저 호출 클래스가 상속 받은 경우 하위 클래스의 생성자에서는 반드시 상위 클래스의 생성자를 호출 2. super 키워드 1. 하위 클래스에서 가지는 상위 클래스에 대한 참조값 2. super()는 상위 클래스의 기본 생성자를 호출함 3. 하위 클래스에서 명시적으로 상위 클래스의 생성자를 호출하지 않으면 super()가 호출(이때 반드시 상위 클래스의 기본 생성자가 존재해야한다) -> 근데, 어치피 컴파일러에서 기본 생성자 없으면 자동으로 넣어줘서 괜찮음 4. super는 생성된 상위 클래스 인스턴스의 참조값을 가지므로 super를 이용하여 상위.. 8. 객체 간 상속, 객체 배열 및 ArrayList, 캡슐화 1. 클래스 상속 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속받아서 속성이나 기능을 확장하여 구현 (이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야할 때 기존 클래스를 상속) 상속의 문법 class B extends A {} -> 이때 'A' 자리에는 단 하나의 클래스만 올 수 있다.(자바는 단일 상속만을 지원) 상속 활용한 멤버쉽 클래스 구현하기 참고로, private로 되어 있다면 상속 불가 -> 하위 클래스에서 접근 가능하지만 외부 클래스에서 접근 불가한 protected 사용하라!! 이렇게 상위 클래스를 구현해놓고 하위 클래스인 VIP 클래스를 만든다면 상속 X 멤버 변수를 하나하나 다시 구현해야하는게 참 번거롭다. 이때 상속을 이용하자! 상속 O 이렇게 간단히 나타내.. 2023.08.30 금융 IT 뉴스 네이버·카카오도 쓴다, 라온시큐어 '옴니원' 고객사 300곳 돌파 네이버·카카오도 쓴다, 라온시큐어 '옴니원' 고객사 300곳 돌파 (naver.com) 네이버·카카오도 쓴다, 라온시큐어 '옴니원' 고객사 300곳 돌파 라온시큐어는 이 회사가 운영하는 통합인증 서비스 '옴니원 통합인증' 고객사가 올 8월 기준 공공·금융, 일반 기업, 대학, 병원 등을 아울러 300곳을 돌파하고 연 2000만건 이상의 트래픽을 기록 n.news.naver.com "사실상 원가 통제, 혁신 발목 잡힐 판"…핀테크업계 '초비상' "사실상 원가 통제, 혁신 발목 잡힐 판"…핀테크업계 '초비상' (naver.com) "사실상 원가 통제, 혁신 발목 잡힐 판"…핀테크업계 '초비상' 내년부터 마이데이터 전송에 수수료가 부과될 예정인.. 7. STATIC 변수, 메서드 및 응용 1. STATIC 변수 공통으로 사용하는 변수가 필요한 경우. 즉, 여러 인스턴스가 공유하는 기준 값이 필요한 경우 EX) 학생마다 새로운 학번 생성, 카드회사에서 카드 새로 발급할 때마다 새로운 카드 번호 부여 등 static 변수 선언과 사용하기 static int serialNum; 1. 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당 2. 클래스 변수, 정적 변수라고도 한다. 3. 인스턴스 생성과 상관없이 사용 가능하므로 클래스 이름으로 직접 참조 ex) Student.serialNum = 10; 이렇게 참조 변수를 사용해도 되긴해 근데 되도록~ 클래스 네임을 사용하자!!!!! 2. STATIC 메서드 구현과 활용, 변수의 유효 범위 이렇게 priv.. 이전 1 2 3 4 5 6 ··· 12 다음