분류 전체보기
-
day25_1 - JAVA (자바, Generic)KIC/JAVA 2021. 7. 19. 14:24
[제네릭 타입(Generic)] -> '컴파일 단계'에서 '잘못된 타입이 사용될 수 있는 문제'를 제거 가능 -> 컬렉션, 람다식(함수적 인터페이스), 스트림, NIO에서 널리 사용 -> 제네릭을 모르면 API 도큐먼트 해석이 어려우므로 학습이 필요하다. -> 일반적인 코드를 작성하고, 이 코드를 다양한 타입의 객체에 대하여 재사용하는 프로그래밍 기법이다. -> 클래스에서 사용할 타입을 클래스 외부에서 설정하는 타입이다. [제네릭을 사용하는 코드의 이점] -> 컴파일 시 강한 타입 체크가 가능 -> 컴파일 시에 미리 타입을 강하게 체크해서 에러를 사전에 방지한다. [ex] package javaPro.java_generic; class MyClass01{ @Override public String toS..
-
flutter - appBar에 메뉴 아이콘 추가Flutter 2021. 7. 19. 03:24
[코드] import 'package:flutter/material.dart'; void main(List args) { runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({ Key? key }) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, title: 'AppBar', theme: ThemeData( primarySwatch: Colors.red ), home: MyPage(), ); } } class MyPage extends StatelessWidget { ..
-
flutter - 클래스와 위젯의 관계Flutter 2021. 7. 19. 02:56
[Class] -> 객체에 대한 속성과 기능을 담고있는 일종의 설계도라고 볼 수 있다. -> 인스턴스: 클래스에 정의된 속성과 기능대로 만들어진 사물을 인스턴스라고 한다. -> 객체와 인스턴스를 혼용해서 쓰는 경우가 있지만 엄밀히 말하면 조금 다르다고 한다. -> 프로그래밍 상에서 객체: 클래스가 정의된 후 메모리상에서 할당되었을 때 이를 객체라고 한다. -> 프로그래밍 상에서의 인스턴스: 클래스를 기반으로 생성 된, 클래스의 속성과 기능을 똑같이 가지고 있고 실제로 프로그래밍 상에서 사용되는 대상을 뜻함 [기억해야할 Dart 문법] -> 함수가 리턴 타입과 매개변수 타입을 추론해서 수행이 가능하다. -> 해당 값들을 자신이 원하는 기능을 위해 강제하고 싶다면 따로 붙여줄 수 있다. [dart의 생성자]..
-
flutter - 캐릭터 정보 앱 만들기Flutter 2021. 7. 19. 02:00
[최종 코드] import 'package:flutter/material.dart'; void main(List args) { runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({ Key? key }) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, // 우측 상단에 debug 띠 지우기 title: "BBANTO", home: Grade(), ); } } class Grade extends StatelessWidget { const Grade({ Key? key }..
-
flutter - 위젯 배치Flutter 2021. 7. 18. 03:42
[위젯 배치] [결과 화면] - 기존 코드에서 패딩을 지웠더니 text가 정중앙으로 이동한다. [결과] - 일반적으로 center 위젯을 정 중앙에 배치한다. - 하지만 center 위젯과 column 위젯이 만나게 되면 결과가 달라진다. - column 위젯은 자식 위젯들에게 세로축 관련해서 높의의 제약이 전혀 없으니 마음대로 확장해도 되도록 전달한다. -> 가로축 상으로는 넓이에 대한 확실한 제약을 두지만 세로축 상으로는 아무런 제약이 없다. - 그래서 center 위젯과 column 위젯이 만나면 center 위젯은 column 위젯의 자식들에 대한 세로축 위치는 관여하지 않고, 대신 현재 컬럼 위젯의 자식 위젯 세로축 높의에 자동으로 fix가 되어 버린다. [기존 코드에서 MainAxisAlign..
-
day24 - JAVA (자바 , SimpleDateFormat, DecimalFormat, parse, Math, Calendar)KIC/JAVA 2021. 7. 17. 21:59
[SimpleDateFormat 예제] package javaPro.java_string; import java.text.SimpleDateFormat; import java.util.*; public class DateEx2 { public static void main(String[] args) { Date now = new Date();//현재시간 객체를 리턴 System.out.println(now); SimpleDateFormat sf = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss E a"); String dispDate = sf.format(now) } } [DecimalFormat 예제] package javaPro.java_string; import java..
-
day23 - JAVA (자바 , JAVA API, java lang, equals(), 객체 해시코드, toString())KIC/JAVA 2021. 7. 17. 20:14
[JAVA API] -> java api 에는 대표적으로 java.lang 과 java.util이 있다. [java lang] -> 자바 프로그램의 기본적인 클래스를 담은 패키지 -> 포함된 클래스와 인터페이스는 import 없이 사용 [주요 클래스] -> Wrapper: 참조 변수간에 주소를 주고받는 것을 케스팅이라고 하는데 이 개념중 기본형과 참조형은 둘 간의 케스팅이루어 지지 않는다. 이 기본형을 참조 형으로 바꿔주는게 Wrapper이다. -> 기본형은 call by value 라 값이 들어 있는 것이고 Wrapper는 주소로 할당하는 것 -> 나중에 컬렉션에 갔을 때 이걸 처리하는 오브젝트 타입이 필요하기 때문에 Wrapper가 중요하다. [Oblect 클래스의 메서드] [equals() 메소드]..
-
day22 - JAVA (자바 , 접근 제한자, 예외 처리(Exception Handle))KIC/JAVA 2021. 7. 17. 17:21
[접근 제한자] [접근 제한자 ex] [다른 패키지의 Modifier2 클래스] package javaPro.java_modifier2; public class Modifier2 { private int v1 = 10; int v2 = 20; // (접근 제어자 default로 설정) protected int v3 = 30; public int v4 = 40; @Override public String toString(){ return v1 + ", " + v2 + ", " + v3 + ", " + v4; } } [modifierEx] package javaPro.java_modifier; import javaPro.java_modifier2.Modifier2; /* * 접근 제한자. * private ..