전체 글 썸네일형 리스트형 [Java] 자바의 정석 : 추상 클래스와 추상 메서드 추상 클래스 : 미완성 설계도. 미완성 메서드를 갖고 있는 클래스abstract class Player { // 추상 클래스 (미완성 클래스) abstract void play(int pos); // 추상 메서드 (몸통{}이 없는 미완성 메서드) abstract void stop(); // 추상 메서드 } 다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성 불가.Player p = new Player(); // error. 추상클래스의 인스턴스 생성 불가 상속을 통해 추상 메서드를 완성해야 인스턴스 생성가능 class AudioPlayer extends Player { void play(int pos){/* 내용 생략 */} // 추상 메서드를 구현 void stop(){/* .. 더보기 [Java] 자바의 정석 : 매개변수의 다형성 매개변수의 다형성 1. 다형적 매개변수 2. 하나의 배열로 여러 종류 객체 다루기 1. 참조형 매개변수는 메서드 호출 시, 자신과 같은 타입 또는 자손 타입의 인스턴스를 넘겨줄 수 있다. - 메서드의 매개변수를 조상 타입의 참조변수를 사용해서 하나의 메서드로 여러타입의 객체를 받을 수 있도록 조상이 될 클래스 Product 생성 class Product { int price; int bonusPoint; Product(int price) { this.price = price; bonusPoint = (int) (price / 10.0); // 보너스 점수는 제품 가격의 10% } } int price 를 매개변수로 받는 생성자 작성 보너스 점수는 제품 가격의 10%를 적립해주는 식 Product를 상속받.. 더보기 [Java] 자바 8 버전 이상의 자바문법 : Optional Optional : null이 들어있는 레퍼런스 변수의 멤버에 접근하려고 할 때 발생하는 예외인 NullPointerException 을 우아하게 해결하기 위해 등장. package pkg2; public class OptionalTest{ private static String getSomeString(){ return null; // 이 메서드는 항상 null 을 반환한다. } public static void main(String[] args) { String isThisNull = getSomeString(); System.out.println(isThisNull.toUpperCase()); // if (null != isThisNull) { // System.out.println(isThisNu.. 더보기 [Java] 자바 8 버전 이상의 자바문법 : 스트림 API ✅ ** 해당 내용은 '이것이 취업을 위한 백엔드 개발이다' 책을 보며 개인공부 목적으로 정리한 내용입니다! ** 스트림 API 컬렉션에 추가된 메서드의 집합을 의미 컬렉션에 담긴 데이터를 처리하는 존재라는 것을 명심! forEach() : 컬렉션의 요소들을 하나씩 꺼내서 반복하므로 문법적으로 보면 반복문을 쉽게 대처할 수 있다. public class Lambda { public static void main(String[] args) { List list = new ArrayList(); list.add("public"); list.add("static"); list.add("void"); // for 문으로 List 를 순회할 수 있다. for (int i = 0; i < list.size(); i.. 더보기 [Java] 자바의 정석 : 참조변수의 형변환 참조변수의 형변환 : 사용할 수 있는 멤버의 갯수를 조절하는 것을 의미 : 조상 - 자손 관계의 참조변수는 서로 형변환 가능 참조변수 멤버의 개수를 줄이는 것은 안전 하지만 참조 변수의 개수를 늘리는 것은 위험, 따라서 형변환을 꼭 명시 해줘야 한다. package pkg2; public class Ex7_7 { public static void main(String[] args) { Car car; FireEngine fe = new FireEngine(); FireEngine fe2 = null; fe.water(); car = fe; // car.water(); // error Car 클래스에 멤버변수로 water 가 없음 fe2 = (FireEngine) car; // 자손 타입 더보기 [Java] 자바의 정석 : 다형성 다형성 : 여러가지 형태를 가질 수 있는 능력 : 조상타입 참조변수로 자손타입 객체를 다루는 것 package pkg2; public class Tv { boolean power; int channel; void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; } } class SmartTv extends Tv { String text; void caption() { // 생략 } } 이렇게 클래스가 있으면 Tv tv = new SmartTv(); // 가능 SmartTv tv = new Tv(); // 불가능 SmartTv 가 더 많은 멤버를 갖는데 해당 타입으로 Tv 를 다루려고 하면 .. 더보기 [Java] 자바의 정석 : 접근제어자, 캡슐화 접근 제어자의 종류는 빠삭하게 알지만 그 활용이 잘 이해가 안간다. 접근 제어자의 종류 public : 접근 제한이 거의 없음. (default) : 같은 패키지 내에서 접근 가능. (접근 제어자 명시를 하지 않으면 default 접근 제어자) protected : 같은 패키지 내에서 그리고 상속받은 자손 클래스에서 접근이 가능. private : 같은 클래스 내에서만 접근이 가능. 학습 목표 : 오늘 예시를 통해서 조금 더 확실하게 익히고, 어떤 상황에서 접근 제어자를 활용할 수 있는지 알아보자. package pkg1; class MyParent { public int pub; protected int ptd; int dft; private int prt; public void printMembers.. 더보기 [회고록] 2월 3주 회고록 일 경험 프로그램도 지원해봤다. 사이드 프로젝트를 진행하면서 예외 처리랑 시큐리티를 조금 더 깊게 알고 싶고, 궁금해서 열심히 파본 한 주였던 것 같다. 그런데 김영한님의 spring mvc 2 편에 예외처리와 검증 부분 내용이 있다는 걸 늦게 알고 혼자서 구글링하고 책 보면서 코드를 짰다... 조금 시간이 아까웠지만 혼자서 찾아서 어떻게든 만들어보는 경험도 좋았던 것 같다. 여러번 해보면 구글링하는 실력도 늘어날 것이라고 믿는다! 조금 3주차 회고록을 작성하기엔 애매한 목요일에서 금요일 넘어가는 새벽이긴 하지만 그래도 미루는 것 보다는 낫다고 생각하기 때문에 작성해본다. 이번주 목표는 일경험 지원하기랑 시큐리티 + jwt 강의 듣기, 자바의 정석 객체지향 부분 끝내기, 포트폴리오 최종 프로젝트 세세하게.. 더보기 이전 1 ··· 5 6 7 8 9 10 11 ··· 20 다음