young0105의 등록된 링크

키자드에 등록된 총 271개의 포스트를 확인하실 수 있습니다.

Tistory

[Java Swing] 메서드 및 함수 모음

# 컴포넌트를 화면에 추가하기 // root 패널에 추가할 때 add(컴포넌트명); // 생성한 패널에 추가할 때 패널명.add(컴포넌트명); # 컴포넌트 폰트 색 변경 컴포넌트명.setForeground(Color객체); # 컴포넌트의 텍스트를 가져오기 or 설정하기 // 텍스트 가져오기 컴포넌트명.getText(); // 텍스트 설정하기 컴포넌트명.setText("문자열"); // 기존 텍스트에 추가하기 컴포넌트명.append("텍스트"); # 배경 색 지정하기 // 창 전체 배경 색 지정 getContentPane().setBackground(Color.색상); // 컴포넌트/패널의 배경 색 지정 컴포넌트명.setBackground(Color.색상); # 원하는 색 추출 Color 컬러명 = new..

Tistory

[Java Code] 배치 관리자 3 - NoLayout 구현

코드 public class NoLayoutEx extends JFrame { JButton[] buttons = new JButton[5]; public NoLayoutEx2() { initData(); setInitLayout(); } private void initData() { setTitle("좌표 기반 배치"); setSize(500, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 버튼 인스턴스화 for (int i = 0; i < buttons.length; i++) { buttons[i] = new JButton("버튼 " + (i + 1)); } buttons[0].setSize(70, 440); buttons[1].setSize(3..

Tistory

[Java Swing] 배치 관리자 (Layout)

배치 관리자 (Layout) - 컴포넌트(Component)들의 크기와 위치를 관리하는 객체 FlowLayout FlowLayout(FlowLayout.방향, 좌우간격, 상하간격); // 방향 기본값 : CENTER // 컴포넌트에 대한 필수 설정은 없음 - 컴포넌트들을 수평, 수직 방향으로 배치하는 것 ( 왼쪽→오른쪽, 위쪽→아래쪽 ) - 창의 크기가 변경되면 자동으로 컴포넌트들이 크기에 맞게 재배치됨 → 기본적으로 한 줄로 배치되며, 더 이상 공간이 없으면 그 다음 줄에 배치됨 - 예제 : https://young0105.tistory.com/71 BorderLayout (기본값) BorderLayout(좌우간격, 상하간격); -------------- // add 메서드를 사용할 때, 매개변수(방향..

Tistory

[Java Swing] 컴포넌트 (Component)

# 버튼 // 선언 접근제어자 JButton 버튼명; // 인스턴스화 버튼명 = new JButton("텍스트"); // ImageIcon 객체를 매개변수에 넣으면 이미지도 가능 // 버튼의 테두리 제거 버튼명.setBorder(null); // 해당 버튼 활성화 버튼명.doClick(); # 텍스트 삽입 or 이미지 삽입 // 선언 접근제어자 JLabel 컴포넌트명; // 인스턴스화 (텍스트) 컴포넌트명 = new JLabel("텍스트"); // 인스턴스화 (이미지) 컴포넌트명 = new JLabel(new ImageIcon("경로/파일명.확장자")); # 텍스트 입력 영역 // 선언 접근제어자 JTextArea 컴포넌트명; // 인스턴스화 컴포넌트명 = new JTextArea("텍스트"); # 텍스..

Tistory

[Java Code] 패널 - 영역 분리하기

코드 public class MyFramePanel extends JFrame { JButton[] buttons = new JButton[6]; private JPanel panel1; private JPanel panel2; public MyFramePanel2() { initData(); setInitLayout(); } private void initData() { setTitle("패널 연습"); setSize(600, 400); setDefaultCloseOperation(3); panel1 = new JPanel(); panel1.setBackground(Color.red); panel2 = new JPanel(); panel2.setBackground(Color.yellow); for (i..

Tistory

[Java Swing] 패널 (Panel)

패널 (Panel) - 컴포넌트들을 그룹화시켜, 각 그룹에 대한 레이아웃을 지정할 수 있게 함 - root 패널의 기본 레이아웃 : BorderLayout → 생성한 패널을 추가할 때는 BorderLayout 방식으로 add해야 함 - 생성한 패널의 기본 레이아웃 : FlowLayout → 생성한 패널에 컴포넌트를 추가할 때는 FlowLayout 방식으로 add해야 함 // 선언 접근제어자 JPanel 패널명; ----------- // 인스턴스화 패널명 = new JPanel(); // 패널 배경 색 지정 패널명.setBackground(Color.색상); ----------- // 패널 추가 (기본 레이아웃일 때 : BorderLayout) add(패널명, BorderLayout.방향); // 패널에..

Tistory

[Java Swing] paint 메서드 : 도형, 이미지, 문자열 그리기

JPanel 클래스의 paint 메서드 - JPanel 클래스를 상속받아, paint 메서드를 재정의해서 그림을 그릴 수 있음 # 도형 그리기 // JFrame을 상속받은 클래스의 외부 or 내부에 선언해서 사용 class 클래스명 extends JPanel { // paint 메서드를 재정의해서 사용함 @Override public void paint(Graphics g) { super.paint(g); // fillRect : 채운 사각형 // 사각형 그리기 g.drawRect(x좌표, y좌표, 너비, 높이); // 둥근 사각형 그리기 g.drawRoundRect(매개변수); // 문자열 넣기 g.drawString("문자열", x좌표, y좌표); // 선 그리기 g.drawLine(x좌표1, y좌표..

Tistory

[Java Swing] javax.swing 패키지를 사용할 수 없는 문제 해결하기

1. 상단 메뉴에서 [Window] - [Preferences] 2. [Type Filters] 3. 우측 메뉴에서 [프로젝트] - [src] - module-info.java 파일 열기 4. 파일에 코드 입력하고 저장하기

Tistory

[Java Code] paint 메서드를 활용한 집 그리기

코드 import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class MyFrame2 extends JFrame { // 내부 클래스를 활용해서 // JPanel 를 상속받고 paint 메서드로 집 그리기 MyDrawPanel drawPanel; class MyDrawPanel extends JPanel { @Override public void paint(Graphics g) { super.paint(g); g.drawRect(140, 260, 200, 140); // 지붕 g.drawLine(240, 160, 100, 260); g.drawLine(100, 260, 380, 260); g.drawLi..

Tistory

[Java Swing] 기본 구조

기본 구조 // 항상 JFrame 클래스로부터 상속받아야 함 public class 클래스명 extends JFrame { // 멤버변수 선언 // private 자료형 컴포넌트명; // ex) private JButton button1; private 자료형 배치관리자명; // ex) private FlowLayout flowLayout; // 생성자 // public 클래스명() { initData(); setInitLayout(); } // 생성자에 사용할 메서드 // public void initData() { // 창 제목 setTitle("제목"); // 창 크기 setSize(가로크기, 세로크기); // 창을 끄면 프로그램도 같이 종료되도록 함 setDefaultCloseOperation(J..

Tistory

[Java Code] 배치 관리자 1 - FlowLayout 구현

코드 public class FlowLayoutEx extends JFrame { private final int BUTTON_COUNT = 6; // 버튼 개수 private JButton[] buttons = new JButton[BUTTON_COUNT]; private FlowLayout flowLayout; public FlowLayoutEx3() { initData(); setInitLayout(); } private void initData() { setTitle("FlowLayout 구현"); setSize(500, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 버튼 인스턴스화 for (int i = 0; i < BUTTON_COUNT;..

Tistory

[Java Code] 배치 관리자 2 - BorderLayout 구현

코드 public class BorderLayoutEx extends JFrame{ JButton[] buttons = new JButton[5]; // 배열 선언과 동시에 초기화 String[] directions = {BorderLayout.EAST, BorderLayout.WEST, BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.CENTER}; public BorderLayoutEx2() { initData(); setInitLayout(); } private void initData() { setTitle("borderLayout 연습"); setSize(600, 600); setDefaultCloseOperation(JFrame.EXIT_ON_CL..

Tistory

[CSS] 미디어 쿼리

미디어 쿼리 (Media Query) - 웹 페이지를 출력하는 디바이스의 종류/크기에 따라 CSS 스타일을 변경할 수 있는 기능 - 디바이스의 특성에 맞게 화면을 보여주기 위해 사용함 - 브라우저 크기에 맞게 자동으로 스타일을 조정함 → 사용자 경험 개선에 큰 도움 @media [only | not] 미디어유형 [and 조건1] [and 조건2] ... { 스타일속성 : 속성값 ; } - and : 조건을 계속 추가할 수 있음 - 콤마(,) : 동일한 스타일을 사용할 미디어 유형/조건이 있다면 콤마로 추가할 수 있음 - only : 미디어 쿼리를 지원하는 웹 브라우저에서만 조건을 인식하게 함 - not 미디어 유형 : 해당 미디어를 제외하고 적용함 ex) @media screen and (min-widt..

Tistory

[CSS] 플렉스 박스 레이아웃

Flexbox (플렉스 박스) - 웹 페이지의 레이아웃을 조정/배치하는 데 사용되는 CSS 속성 - 요소를 수평/수직으로 정렬하고 공간을 분배함 # 자식 요소의 배치/정렬은 항상 부모 요소를 기준으로 생각해야 함 구성요소 1) 플렉스 컨테이너 (Flex container) - Flexbox를 사용하여 요소를 배치하는 부모 요소 - height를 지정해주지 않으면, 컨테이너 내 자식 요소의 높이만큼으로 자동 지정됨 - 플렉스 컨테이너는 바로 아래 자식 요소까지만 영향을 미침 2) 플렉스 아이템 (Flex items) - 플렉스 컨테이너 내에서 배치되는 자식 요소 3) 주축 (Main axis) & 교차축 (Cross axis) - 플렉스 컨테이너 내에서 요소가 배치되는 축 플렉스 항목 배치 부모요소 { d..

Tistory

[Java] String 클래스의 메서드

# 관련 포스팅 - 문자열 자료형 : https://young0105.tistory.com/44 # 문자열1.equals(문자열2) - 문자열1과 문자열2의 내용이 같으면 true 반환 - "문자열".equals(변수) ← null 에러 방지 # 문자열1.equalsIgnoreCase(문자열2) - 문자열의 대소문자를 구분하지 않고, 문자열1과 문자열2의 내용이 같으면 true 반환 # 문자열.indexOf("문자") - 문자열에서 해당 문자가 첫 번째로 등장하는 위치의 인덱스 반환 ex) 문자열 = "abc" → 문자열.indexOf("b") == 1 # 문자열.lastIndexOf("문자") - 문자열에서 해당 문자가 마지막으로 등장하는 위치의 인덱스 반환 # 문자열.charAt(인덱스) - 문자열에..

Tistory

[Java] 인터페이스와 default 메서드

인터페이스 (Interface) - 구현된 것이 아무 것도 없는, 밑그림만 있는 기본 설계도 - 기능 중심 설계 : 클래스/프로그램이 제공하는 기능을 명시적으로 선언함 - 표준 : 기능을 정의해두면, 어떤 클래스든 가져와서 사용할 수 있음 - 클라이언트 코드와의 약속 (강제성이 있는 규칙) - 클래스/프로그램이 제공하는 명세 - 추상 클래스보다 추상화 정도가 더 높음 → 더 유연하게 코드 설계 가능 - 다형성 : 하나의 객체를 그 객체의 클래스 타입으로 볼 수도 있고, 구현된 인터페이스 타입으로 볼 수도 있음 # 인터페이스 정의 - 인터페이스는 멤버 변수를 가질 수 없고, 상수만을 가질 수 있음 - 인터페이스는 일반 메서드를 가질 수 없고, 추상 메서드만을 가질 수 있음 → 'abstract' 키워드를 ..

Tistory

[Java Code] 인터페이스 - DAO 구현

코드 // DTO : Data Transfer Object public class UserInfo { public static int SERIAL_NUMBER = 0; private int id; private String userName; private String pw; public UserInfo(String name, String pw) { SERIAL_NUMBER++; this.id = SERIAL_NUMBER; this.userName = name; this.pw = pw; } public int getId() { return id; } public String getUserName() { return userName; } public String getPw() { return pw; } pu..

Tistory

[Java] Object 클래스

java.lang 패키지 - import 예약어를 사용해서 가져오지 않아도 자동으로 import되는 패키지 ex) String, System, Object, Exception, ... Object 클래스 - 모든 클래스의 최상위 클래스 → 모든 클래스는 Object 클래스에서 상속받음 (extends 키워드 생략) → Object 클래스의 메서드 중 일부를 재정의해서 사용할 수 있음 # toString() 메서드 - (기본) 객체의 정보를 String 타입으로 바꿔 사용할 때 쓰임 # equals() 메서드 - (기본) 두 객체의 주소 값이 동일하면 true를 반환함 - (재정의) 주소 값이 다르더라도 두 객체가 논리적으로 동일하면 true를 반환함 ex) String 객체에 equals() 메서드를 사..

Tistory

[CSS] 정렬 스타일

배치 - 가로 방향 가운데 정렬 부모선택자 { text-align : center; } 자식선택자 { display : inline-block ; } /* 또는 */ 선택자 { dispaly : block ; margin : 0px auto ; } 배치 - 플렉스 박스 활용 정렬 선택자 { display : flex ; /* 가로 방향 정렬 */ justify-content : 속성값 ; /* 세로 방향 정렬 */ align-items : 속성값 ; } - 속성 값 · flex-start : 주축의 시작점을 기준으로 배치 (왼쪽) · flex-end : 주축의 끝점을 기준으로 배치 (오른쪽) · center : 주축의 중앙을 기준으로 배치 (가운데) · space-between : 첫 번째 항목과 마지막..

Tistory

[CSS] 변형 스타일 (transform)

요소 이동 선택자 { transform : translate(x축이동거리, [y축이동거리]) ; } 선택자 { transform : translate3d(x축이동거리, y축이동거리, z축이동거리) ; } 선택자 { transform : translateX(x축이동거리) ; } 선택자 { transform : translateY(y축이동거리) ; } 선택자 { transform : translateZ(z축이동거리) ; } - y값이 추어지지 않으면 x값과 같다고 간주함 요소 확대 및 축소 선택자 { transform : scale(x축배수, [y축배수]) ; } 선택자 { transform : scale3d(x축배수, y축배수, z축배수) ; } 선택자 { transform : scaleX(x축배수) ; ..

Tistory

[CSS] 트랜지션 스타일 (transition)

트랜지션 - 웹 요소의 스타일 속성이 조금씩 자연스럽게 바뀌는 것 트랜지션을 적용할 속성 선택 선택자 { transition-property : all | none | 속성명 ; } - all (기본값) : 요소의 모든 속성이 트랜지션 대상이 됨 - none : 아무 속성도 바뀌지 않음 - 속성명을 콤마로 연결하여 여러 속성에 적용 가능 트랜지션 진행 시간 지정 선택자 { transition-duration : 시간(단위 s) ; } - 트랜지션이 여러 개라면 쉼표로 구분해서 지정 ex) { transition-property : width, height ; transition-duration : 2s, 3s ; } → 2초 동안 너비 변화, 1초 동안 높이 변화 트랜지션 진행 속도 지정 선택자 { tr..

Tistory

[CSS] 애니메이션 스타일 (animation)

애니메이션 정의 (시작과 끝 상태 설정) @keyframe 애니메이션이름 { /* 시작 선택자 (0%) */ from { 스타일속성 : 속성값 ; } /* 끝 선택자 (100%) */ to { 스타일속성 : 속성값 ; } } - 0~100% 내의 %를 선택자로 하여 중간 상태 설정 가능 요소에 애니메이션 부여 /* @keyframe에서 정의한 이름과 동일하게 입력 */ 선택자 { animation-name : 애니메이션이름 ; } 애니메이션 실행 시간 지정 선택자 { animation-duration : 실행시간(단위 s) ; } 애니메이션 종료 후 원위치 방법 지정 선택자 { animation-direction : normal | alternate ; } - normal (기본값) : 애니메이션을 끝까..

Tistory

[CSS] 가변 그리드 레이아웃

가변 그리드 레이아웃 - 화면 크기에 따라 요소의 크기가 자동으로 변하도록 함 · 전체를 감싸는 요소의 너비를 %로 변환 · 전체를 감싸는 요소의 너비를 기준으로 각 요소의 너비 계산 → width : ( 요소의 너비 / 전체 요소 너비 ) * 100 가변 이미지 # 부모 요소만큼만 크기가 변하도록 하기 선택자 { max-width : 100% } # 너비에 따라 다른 이미지 출력하기 - 최소 너비 미만이 되면 다른 이미지로 전환됨 ... 가변 비디오 /* 최대 너비는 원본과 같게, 브라우저 창을 작게 하면 고정 비율로 줄어듦 */ 비디오선택자 { max-width : 100% ; } /* 너비를 화면에 꽉 차게 */ 비디오선택자 { min-width : 100% ; } /* 높이를 화면에 꽉 차게 */..

Tistory

[Git] 개요

Git - 분산형 버전 관리 시스템 - 필요성 : 소스 코드, 작업물 등을 관리할 때 편리함 # 버전 관리 시스템 (Version Control System) : 사용자 프로젝트에 포함된 파일의 변경 내역을 추적할 수 있도록 하는 도구/방법론 1) 중앙 집중식 버전 관리 시스템 (SVN) - 중앙 서버에 소스 코드와 history를 직접 저장하는 방식 [단점] · 각 개발자만의 history를 관리할 수 없음 · commit된 내용에 실수가 있을 때, 서버의 다른 개발자에게 바로 영향을 미침 → 중앙 서버에 문제가 생기면 협업 불가능 2) 분산형 버전 관리 시스템 (DVCS, Git) - 여러 개발 PC와 저장소에 분산해서 저장하는 방식 [장점] · 모든 작업자가 원본을 가질 수 있음 → 개별 histo..

Tistory

[Git] 깃허브 사용법

관련 링크 - Git 다운로드 : https://git-scm.com/ - GitHub 주소 : https://github.com 깃허브 저장소 생성하기 1. 우측 상단의 메뉴에서 'Your repositories' 선택 2. Repositories 페이지에서 'New' 선택 3. 설정 후 'Create repository' 선택하면 저장소가 만들어짐 깃허브 저장소에서 가져오기 - 로컬 저장소 폴더로 지정된 상태에서, git clone 저장소주소 입력 완료 시 로컬 저장소 폴더에 깃허브 저장소 폴더가 생성됨 Git Bash에 로컬 저장소로 사용할 폴더 지정하기 방법 1) cd 명령어 사용하기 : cd 폴더주소 1. 폴더 주소 복사하기 2. Git Bash 내에서 붙여넣기 방법 2) 폴더에 들어가서 우..

Tistory

[Git] 명령어

# git 저장소로 지정하기 - git init - 변경 내용이 저장되는 .git 폴더가 생성됨 # 폴더의 현재 변경 상태 확인하기 - git status - 변경된 상태의 파일은 'Working Directory' 상태에 있음 # commit된 결과 확인 - git log - 로그를 간소화해서 한 줄로 보기 : git log --oneline # 저장소 상태 확인 - git config --list # 이전 버전 불러오기 - git checkout 번호 # 한 단계 최근 버전으로 - git checkout - # 가장 최근 버전으로 - git checkout main 깃허브 업로드 과정 1. 'Working Directory' → 'Staging Area' - git add 파일명 → 모든 변경 파일을..

Tistory

[CSS] 배치 스타일

요소의 배치 속성 ① 블록 라벨 요소 - 요소를 삽입했을 때 혼자 한 줄을 차지하는 요소 ② 인라인 레벨 요소 - 줄을 차지하지 않는 요소 - 화면에 표시되는 콘텐츠만큼만 영역을 차지하고, 나머지 공간에는 다른 요소 가능 선택자 { display : none | block | inline | inline-block | flex ; } - none : 숨김 - block : 다른 요소들을 다른 줄로 밀어내고 혼자 한 줄을 차지함 · width, height, margin, padding 속성을 지정할 수 있음 - inline : 줄바꿈 없이 한 줄에 다른 요소들과 나란히 배치됨 · block 속성 값과의 차이점 : width, height, margin, padding 속성을 지정할 수 없음 - inlin..

Tistory

[CSS] 다단 스타일

단의 너비를 고정해서 화면 분할 선택자 { column-width : 너비 | auto ; } - 화면이 커질수록 단의 개수가 많아짐 단의 개수를 고정해서 화면 분할 선택자 { column-count : 개수 | auto ; } - 화면이 커질수록 단의 너비가 넓어짐 단 합치기 선택자 { column-span : 1 | all ; } - 1 (기본값) : 합치지 않음 - all : 전체 단을 하나로 합쳐 표현함 · 단의 일부만 합칠 수는 없음 단 사이의 경계선 선택자 { column-rule : 선두께 선유형 선색상 ; } 단 사이의 여백 선택자 { column-gap : 여백px ; } 특정 요소의 앞/뒤에 다단 위치 지정 /* 앞 */ 선택자 { break-before : column | avoid-..

Tistory

[CSS] 표 스타일

# 관련 포스팅 - 표 태그 : https://young0105.tistory.com/17 캡션 표시 위치 지정 선택자 { caption-side : top | bottom ; } - top (기본값) : 캡션이 표 위쪽에 표시됨 - bottom : 캡션이 표 아래쪽에 표시됨 표 테두리 /* 표 바깥 테두리 */ 테이블선택자 { border : 선두께 선유형 선색상 ; } /* 셀 테두리 */ 테이블선택자 셀선택자 { border : 선두께 선유형 선색상 ; } 표 바깥 테두리와 셀 테두리의 겹치는 부분을 합쳐서 표현 선택자 { border-collapse : collapse | separate ; } - separate (기본값) : 테두리를 따로 표시함 (셀들을 분리함) - collapse : 테두리..

Tistory

[Java] 문자열 자료형 (String)

String 자료형 - 문자열을 저장하는 자료형 - 반드시 쌍따옴표(" ")를 사용하여 값을 표기 - 변수를 이용해 객체를 따로 생성하지 않아도 자료형을 사용할 수 있음 (물론, 객체를 생성해서 사용할 수도 있음) # 이스케이프 문자 - 역슬래시(\)를 사용하여 문자열 내부에 특정 문자를 포함시킴 문법 기능 \t [Tab] 키만큼 띄움 \n 줄 바꿈 \" " 출력 \' ' 출력 \\ \ 출력 # 문자열의 값 비교 메서드 문자열1.equals(문자열2); - 문자열1과 문자열2의 '내용'이 완전히 동일하면 true 반환 # 문자열의 주소 값 비교 연산자 문자열1 == 문자열2; - 문자열1과 문자열2의 '주소 값'이 동일하면 true 반환 # 주소 값 확인 System.out.println(System.i..

Tistory

[Java] final 키워드

final의 기능 ① 상속할 수 없는 클래스 선언 [접근제어자] final class 클래스명 { 코드; } ex) String final의 기능 ② 재정의할 수 없는 메서드 선언 [접근제어자] final 반환자료형 메서드명() { 코드; } - 자식 클래스에서 오버라이드(재정의)할 수 없음 final의 기능 ③ 상수 선언 final 자료형 상수명 = 값; - 값이 변경될 수 없는 상수 선언 - 상수 관련 설명 : https://young0105.tistory.com/8

Tistory

[Java] 추상 클래스

추상 클래스 (Abstract class) - 하나 이상의 추상 메서드를 포함하거나, abstract 키워드를 가진 클래스 - 추상적인 개념 → 화면에 나타낼 수 없는 것들 ex) 게임 - 인스턴스화를 할 수 없음 (new 키워드 사용 불가) → 오류 : 부모클래스 참조변수 = new 부모클래스(); → 업 캐스팅 가능 : 부모클래스 참조변수 = new 자식클래스(); // 추상 클래스 접근제어자 abstract class 클래스명 { ... // 추상 메서드 접근제어자 abstract 반환자료형 메서드명(매개변수); } # 추상 메서드 - 구현 코드 없이 메서드의 선언만 있는 메서드 (중괄호 {}가 없음) - 추상 클래스에 추상 메서드가 없을 수는 있음 → 그러나, 추상 메서드가 있으면 반드시 추상 클..

Tistory

[Java Code] 배열 - 오름차순 정렬

코드 public class MainTest2 { public static void main(String[] args) { // 문제 : 배열의 요소를 오름차순 정렬하세요. int[] myNumbers = new int[10]; myNumbers[0] = 10; myNumbers[1] = 4; myNumbers[2] = 100; myNumbers[3] = 23; myNumbers[4] = 51; myNumbers[5] = 1; myNumbers[6] = 6; myNumbers[7] = 88; myNumbers[8] = 42; myNumbers[9] = 31; int temp; // 임시 변수 for (int i = 0; i < myNumbers.length; i++) { for (int j = (i + ..

Tistory

[Java] 템플릿 메서드 패턴 (Template Method pattern)

# 관련 포스팅 - 추상 클래스 : https://young0105.tistory.com/46 템플릿 메서드 패턴 (Template Method pattern) - 추상 메서드 or 구현된 메서드를 활용하여, 코드의 흐름(시나리오)를 정의하는 디자인 패턴 - '행위' 디자인 패턴 - final로 선언함 → 자식 클래스가 해당 메서드에 대해 재정의할 수 없게 함 (메서드 오버라이드 금지) - 프레임워크에서 자주 사용됨 - 부모 클래스에서 선언되어, 전체적인 흐름을 정의함 → 각 자식 클래스마다 다르게 구현되어야 하는 부분은 추상 메서드로 선언함 → 자식 클래스는 추상 메서드를 구체화함 - 전체적인 구조는 바꾸지 않으면서, 특정 단계에서 수행하는 내역을 바꿈 // 부모 클래스 파일 // // 메서드1 선언 ..

Tistory

[Java Code] 배열 - 도서 정보 등록·조회·삭제 프로그램 구현

코드 # Book 클래스 public class Book { // 멤버변수 private int totalPage; // 페이지 수 private String title; // 책 제목 private String author; // 작가명 public Book(String title, String author) { this.title = title; this.author = author; } public Book(int totalPage, String title, String author) { this(title, author); this.totalPage = totalPage; } public int getTotalPage() { return this.totalPage; // 가독성을 높이려면 this..

Tistory

[Java] this 키워드와 super 키워드

this의 기능 ① 자기 자신(객체)을 가리킴 // 예시 // // 멤버변수 private String name; private int age; // 생성자 public Person(String name, int age) { // *** 여기서 this는 자기 자신을 가리킴 *** this.name = name; this.age = age; } this의 기능 ② 생성자에서 다른 생성자를 호출함 // 예시 // // 멤버변수 private String name; private int age; private String phone; // 생성자 1 public Person(String name, int age) { this.name = name; this.age = age; } // 생성자 2 public..

Tistory

[Java] static 키워드

static 변수 (클래스 변수, 정적 변수) // 선언 static 자료형 멤버변수명; - 여러 객체들이 공유하는 하나의 변수(데이터)가 필요할 때 사용하는 멤버변수 - 객체가 생성되기 이전 (new 키워드 이전), 처음 프로그램이 메모리에 로딩될 때 메모리를 할당 받음 → 객체 생성과 관계 없이 해당 멤버변수에 접근할 수 있음 → 참조변수 대신, 클래스 이름으로 직접 참조 가능 : 클래스명.멤버변수명 - 객체(인스턴스)들이 공통으로 사용하는 영역 → 모든 객체가 같은 값을 담고 있음 → static 변수만 사용하면 각각의 객체가 고유한 상태 값을 가지도록 할 수 없음 → 다른 멤버변수를 활용해서 저장하기 // 예시 : 다른 멤버변수를 활용해 각 객체들에게 고유한 값 할당 // // 멤버변수 publi..

Tistory

[Java] 배열

배열 (Array) - 연관된 데이터들을 하나의 변수에 모아서 통으로 관리하기 위해 사용하는 리스트 자료 구조 - 여러 개의 데이터를 하나의 변수에 저장하기 위한 것 HTML 삽입 미리보기할 수 없는 소스 - '배열'의 자료형과 '배열 값'의 자료형은 다름 ex) (배열 값 자료형 int) != (배열 자료형 int[]) → 변수 자료형이나 반환 자료형 등을 입력할 때는 '배열'의 자료형을 입력해야 함 - 배열 선언 시, 자동으로 자료형의 기본값에 따라 초기화됨 → int : 0 // double : 0.0 // boolean : false // 참조자료형(String 등) : null - 기본 자료형 배열은 선언과 동시에 배열 크기 만큼의 메모리가 할당됨 - 객체 배열의 메모리 공간에는 heap 메모리..

Tistory

[Java] 상속 관계와 메서드 오버라이드

클래스 상속 (Inheritance) // 상속 class 자식클래스 extends 부모클래스 { 코드; } - 자식 클래스가 부모 클래스의 멤버변수/메서드를 물려 받음 - 새로운 클래스를 정의할 때, 이미 구현된 다른 클래스를 상속받아서 속성/기능을 확장시켜 클래스를 구현함 → 상속을 하는 부모 클래스보다 상속을 받는 자식 클래스의 데이터가 더 크고 구체적임 ( == 부모 클래스는 자식 클래스보다 더 일반적임) - 상속받는 클래스끼리 멤버변수/메서드가 동일하면, 자식 클래스 파일에서는 코드를 제거하고 부모 클래스에만 입력해도 상속받아서 사용할 수 있음 - 자식 클래스 객체로 어떤 메서드를 실행하면, 우선 자식 클래스 자신에게 그 메서드가 있는지 확인함 → 자신에게 해당 메서드가 없다면 부모 클래스에 있..

Tistory

[Java] 상속 관계의 다형성과 참조형 형 변환

# 관련 포스팅 - 상속 : https://young0105.tistory.com/42 다형성 (Polymorphism) - 하나의 코드 형태가 다양한 자료형으로 구현되어 실행될 수 있음 (자료형을 다양한 형태로 바라볼 수 있음) → 같은 코드에서 여러 실행 결과가 나타남 - 장점 : 유연성, 확장성, 유지보수성 - 객체지향 프로그래밍의 큰 특징 중 하나 # 상속 관계에서의 다형성 - 자식 클래스는 부모 클래스를 확장한 형태임 → '자식 클래스'는 '부모 클래스'라고 할 수 있음 ex) '호랑이'는 '동물'이다 (반대로 '부모 클래스'는 '자식 클래스'라고 할 수 없음) → 자식 클래스는 자신의 클래스로도 볼 수 있고, 부모 클래스로도 볼 수 있음 - 메서드 선언 시 매개변수로 부모 클래스를 기입한 경우..

Tistory

[Java] 포함 관계 구현 중 NullPointerException 발생

# 관련 포스팅 - 생성자 : https://young0105.tistory.com/29 java.lang.NullPointerException 원인 ① new 키워드를 사용하지 않아, 메모리에 아직 로드되지 않은 경우 ② . 연산자를 잘못 사용한 경우 에러 발생 코드 - 포함 관계인 Student 클래스와 Subject 클래스 설계 - Student 클래스에 Subject를 참조 자료형으로 사용한 멤버 변수(국어)를 생성함 # Subject 클래스 파일 public class Subject { // 멤버변수 // String subjectName; // 과목 이름 int score; // 과목 점수 } # Student 클래스 파일 public class Student { // 멤버변수 // int s..

Tistory

[CSS] 텍스트 스타일

글꼴 스타일 # 글꼴 지정 선택자 { font-family : 글꼴명1, [글꼴명2, 글꼴명3, ...] ; } - 지정한 글꼴이 없을 경우에 대비해서 2, 3, ... 번째 글꼴까지 지정해둘 수 있음 # 글자 크기 조절 선택자 { font-size : 절대크기 | 상대크기 | 숫자 | 백분율 ; } - 속성 값 · 절대 크기 : xx-small | x-small | small | medium | large | x-large | xx-large · 상대 크기 : larger | smaller · 크기 i. em : 대문자 M의 너비를 1로 뒀을 때의 기준으로 크기 조절 ii. ex : 소문자 x의 높이를 1로 뒀을 때의 기준으로 크기 조절 iii. px (픽셀) iv. pt (포인트) · 백분율 : 부모..

Tistory

[Java] 접근 제어 지시자와 get(), set() 메서드

접근 제어 지시자 (Access modifier) - 특정 대상에 대해, 클래스 외부로부터의 접근 권한을 부여하는 명령어 → 대상 : 변수, 메서드, 함수, 클래스 등 대부분 // 예시 private int 변수; 접근 제어 지시자 private 같은 클래스 (java 파일) 내부에서만 접근 가능 default (기본값) 같은 패키지 내부에서만 접근 가능 protected 같은 패키지 내부에 있거나, 다른 패키지여도 상속 관계의 클래스일 때는 접근 가능 public 같은 프로젝트 내라면 어디에서든지 접근 가능 # 외부에서 멤버변수의 값을 수정하지 못하게 하기 - 멤버변수에 접근 제어 지시자 'private' 할당 → 메서드를 이용한 값 수정은 가능하지만, 멤버변수에 직접 값을 수정할 수는 없게 됨 1) ..

Tistory

[CSS] 목록 스타일

# 관련 포스팅 - 목록 태그 : https://young0105.tistory.com/16 목록 스타일 # 목록 태그의 글머리표 종류 변경 선택자 { list-style-type : none | 순서없는목록속성 | 순서있는목록속성 ; } 1) 불릿 제거 : none 2) 순서 없는 목록의 글머리표 변경 속성 - disc (기본값) : 채운 원 () - circle : 빈 원 () - square : 채운 사각형 () 3) 순서 있는 목록의 글머리표 변경 속성 i. 십진수 - decimal (기본값) : 1로 시작 - decimal-leading-zero : 0으로 시작 ii. 알파벳 - lower-alpha : 소문자 - upper-alpha : 대문자 iii. 로마 숫자 - lower-roman..

Tistory

[CSS] 배경 스타일과 색 표기법

색 표기법 1) 16진수 표기법 : #ffffff (빨강/초록/파랑) - 최대 : ff, 최소 : 00 2) rgb 표기법 : rgb(빨강, 초록, 파랑, [투명도]) - 최대 : 255, 최소 : 0 - 투명도 : 0(투명) ~ 1(불투명) 3) hsl 표기법 : hsl(색상%, 채도%, 밝기%, [투명도]) - 투명도 : 0(투명) ~ 1(불투명) 4) 색상 이름 표기법 - 기본 색상 16가지 배경 스타일 # 배경 색 선택자 { background-color : 색상 ; } # 배경 적용 범위 선택자 { background-clip : border-box | padding-box | content-box ; } - border-box (기본값) : 테두리까지 적용 - padding-box : 테두리 ..

Tistory

[CSS] 가상 선택자 : 가상 클래스와 가상 요소

사용자 동작에 반응하는 가상 클래스 # 마우스 커서를 올려 놓을 때 선택자:hover { 스타일속성 : 속성값 ; } # 마우스로 클릭할 때 선택자:active { 스타일속성 : 속성값 ; } # 초점이 맞춰졌을 때 (Tab 키) 선택자:focus { 스타일속성 : 속성값 ; } # 방문하지 않은 링크일 때 선택자:link { 스타일속성 : 속성값 ; } # 방문한 링크일 때 선택자:visited { 스타일속성 : 속성값 ; } UI 요소 상태에 따른 가상 클래스 # 요소를 사용할 수 있을 때 선택자:enabled { 스타일속성 : 속성값 ; } # 요소를 사용할 수 없을 때 선택자:disabled { 스타일속성 : 속성값 ; } # 라디오 버튼 or 체크 박스에서 항목을 선택했을 때 선택자:checke..

Tistory

[CSS] 박스 모델 (크기, 테두리, 마진, 패딩)

박스 모델 - 실제 콘텐츠 영역, 패딩, 테두리, 마진 등의 요소로 구성됨 - 확인 : [F12] - [개발자 도구] 박스 모델 너비 기준 설정 선택자 { box-sizing : content-box | border-box ; } - content-box (기본값) : width 속성 값을 콘텐츠 영역 너비 값으로 사용함 - border-box : width 속성 값을 (콘텐츠 영역 + 패딩 + 테두리)의 너비 값으로 사용함 너비 (width) & 높이 (height) 선택자 { width : 너비px | 백분율 | auto ; height : 높이px | 백분율 | auto ; } - min-width : 100% → 너비를 화면에 꽉 차게 함 - min-height : 100% → 높이를 화면에 꽉 ..

Tistory

[Java] 스택 메모리와 힙 메모리

스택 메모리 (Stack memory) - 함수가 호출될 때, 그 함수의 지역변수들에게 할당되는 메모리 - 함수의 수행이 끝나면 자동으로 반환됨 - 밑에서 위로 쌓아 올라가며 생기고, 위에서부터 사라짐 → LIFO (Last Input First Output) : 가장 나중에 들어온 것이 가장 먼저 나감 힙 메모리 (Heap memory, 동적 메모리) - 메모리 공간의 크기가 늘었다가 줄었다가 동적으로 변함 - 'new' 키워드를 통해 객체가 생성되면, 힙 메모리에 해당 객체와 멤버변수 값이 할당됨 - 하나의 클래스로부터 여러 개의 객체(인스턴스)가 생성되고, 각각 다른 메모리 주소를 가짐 → 참조변수에 객체의 메모리 주소 값(참조 값)이 저장되며, 참조변수는 스택 메모리에 할당됨 → 참조 값을 통해 ..

Tistory

[Java] 객체와 클래스 2 : 메서드 (멤버 함수)

# 관련 포스팅 1. 객체 지향 패러다임과 멤버 변수 : https://young0105.tistory.com/13 2. (현재 글) 메서드 : https://young0105.tistory.com/28 3. 생성자 : https://young0105.tistory.com/29 메서드 (Method, 멤버 함수) - 클래스 내부에서, 자신의 멤버 변수를 활용해서 객체의 기능을 수행하는 행위 - 함수와 유사하지만, 보다 명확하고 구체적임 - 중첩 메서드 구현 불가능 (메서드 안에 메서드 선언 불가능) 메서드 구현 public class 클래스명 { // 상태 (멤버변수) // 자료형 멤버변수1; ... // 기능 (메서드) // // 메서드 선언 public 반환자료형 메서드1(매개변수) { // 자료형을..

Tistory

[Java] 객체와 클래스 3 : 생성자

# 관련 포스팅 1. 객체 지향 패러다임과 멤버 변수 : https://young0105.tistory.com/13 2. 메서드 : https://young0105.tistory.com/28 3. (현재 글) 생성자 : https://young0105.tistory.com/29 생성자 (Constructor) - 객체를 생성할 때, 객체의 형태에 대한 강제성을 부여하는 것 - 객체를 생성하기 위해 'new' 키워드와 함께 호출됨 → 객체가 메모리에 로드될 때 가장 먼저 수행되는 코드 - 객체가 생성될 때 변수/상수를 초기화하는 기능의 코드가 포함됨 - 생성자 내에서 메서드 호출 가능 - 클래스에는 반드시 적어도 하나 이상의 생성자가 존재함 - 반환 값이 없음 → 선언부에 반환 자료형이 없음 - 생성자 이..

Tistory

[HTML] 이미지 태그

이미지 삽입 - 속성 1) alt = "대체 텍스트" · 이미지를 표시할 수 없는 상황일 때 표시되는 대체 텍스트 2) widhth = "너비px" 3) height = "높이px" 이미지 설명글 삽입 설명글 - 태그가 태그의 위 or 아래에 입력된 것에 따라 이미지의 위 or 아래에 설명글이 표시됨

Tistory

[HTML] 멀티미디어 태그

외부 파일 삽입 오디오/비디오 삽입 - 속성 1) autoplay : 오디오/비디오를 자동 재생함 2) controls : 컨트롤 막대를 표시함 (재생/정지, 진행 바, 볼륨 등) 3) loop : 오디오/비디오를 반복 재생함 4) muted : 오디오/비디오를 재생하지만 소리는 음소거함 5) preload : 재생 버튼을 눌러 재생하기 전에, 오디오/비디오 파일을 다운로드해서 준비함 6) poster = "경로/이미지명.확장자" : 영상 재생 전 초기 화면(썸네일)을 지정함 여러 코덱의 파일을 함께 지정 대체텍스트 대체텍스트 ... [] - 최신 브라우저와 이전 브라우저에서 모두 재생할 수 있도록 함 - 파일이 정상적으로 재생되면 대체 텍스트는 화면에 표시되지 않음 비디오에 외부 자막 파일 연결 - 속..

Tistory

[HTML] 폼 태그

폼 생성 태그 폼 요소 - 속성 1) method 속성 · method = "get" : 사용자가 입력한 내용을 그대로 노출한 채로 서버로 넘김 · method = "post" : 사용자가 입력한 내용이 드러나지 않은 채로 서버로 넘김 2) action 속성 : 태그 안의 내용들을 처리할 서버 상의 프로그램을 지정함 · URL 3) target = "_blank" : 스크립트 파일을 현재 창이 아닌 다른 위치로 열도록 지정함 4) name = "폼 이름" 폼 요소 그룹화 구역 제목 폼 요소 폼 요소 이름 부여 - 이름을 클릭했을 때 폼 요소가 자동으로 선택되도록 함 텍스트 텍스트 값을 입력받는 태그 태그의 속성 id = "아이디명" - 폼 요소를 구분하기 위한 용도 name = "key" - 폼 내용을 ..

Tistory

[CSS] 개요

CSS (Cascading Style Sheet) ... - 브라우저에게 웹 사이트가 어떻게 보여져야 하는지 알려주는 언어 - Style sheet : 스타일을 관리하기 쉽도록 한 군데에 모아놓은 것 - HTML에 종속적임 (독립적으로 쓰일 수 없음) - 선택자 : 스타일 규칙이 적용될 대상 - 태그들의 포함 관계에 따라 부모 요소의 스타일을 자식 요소로 상속함 스타일의 우선순위 - 인라인 스타일 → id 스타일 → class 스타일 → 태그 스타일 - 우선순위가 같다면 나중에 입력된 스타일이 앞 스타일을 덮어씀 # 중요 스타일 !important - 우선순위가 동일한 스타일이 있을 때, 중요 스타일로 지정된 것이 가장 우선적으로 실행됨 내부 스타일 시트 # 인라인 스타일 - 스타일 시트를 사용하지 않고..

Tistory

[CSS] 선택자

기본 선택자 # 전체 선택자 - 페이지에 있는 모든 요소를 대상으로 스타일을 적용함 - 브라우저마다 패딩과 마진의 기본값이 다름 → 전체 선택자를 사용하여 0으로 리셋할 수 있음 * { 스타일속성 : 속성값 ; } # 태그 선택자 - 문서에서 해당 태그를 사용한 모든 요소를 대상으로 스타일을 적용함 태그 { 스타일속성 : 속성값 ; } # 클래스 선택자 - .과 class가 대응됨 # id 선택자 - #과 id가 대응됨 # 그룹 선택자 - 같은 스타일을 사용하는 선택자들을 한 번에 정의함 선택자1, 선택자2, ... { 스타일속성 : 속성값 ; } 연결 선택자 (조합 선택자) # 하위 선택자 - 상위 요소에 포함된 모든 하위 요소에 스타일이 적용됨 상위요소 하위요소 { 스타일속성 : 속성값 ; } # 자..

Tistory

[Java] 함수

함수 (Function) - 객체와 상관없이 독립적으로 어떠한 기능을 수행하는 일련의 코드 묶음 - 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음 public class 클래스명 { //// 함수를 정의하는 코드 //// // 함수 선언부 static 반환자료형 함수명(자료형a 매개변수a, 자료형b 매개변수b, ...) { // 함수 구현부 (body) 코드 ; ... return 반환값; } public static void main(String[] args) { //// 함수를 호출하는 코드 //// 함수명(매개변수a, 매개변수b, ...); } } # 함수 정의 - 함수 선언부의 자료형에 따라 함수가 반환(return)하는 값의 자료형이 정해짐 → return 키워드 입력 시, 함수 선언부의..

Tistory

[HTML] 텍스트 태그

텍스트를 묶어주는 태그 # 제목 표시 - 텍스트 · 크기 : h1 > h2 > h3 > h4 > h5 > h6 # 단락 나누기 - 텍스트 # 줄 바꾸기 - # 들여쓰기 - 텍스트 · 다른 텍스트보다 안으로 들여 써짐 # 입력된 공백을 그대로 표시 - 텍스트 · 해당 태그를 사용하지 않으면 코드 내 들여쓰기가 표현되지 않음 # 줄 바꿔 영역 묶기 - 텍스트 # 줄 바꿈 없이 영역 묶기 (인라인) - 텍스트 - 스타일 적용 : 텍스트 # 따옴표 추가 - 텍스트 · 줄 바꿈 없이, 내용 앞뒤에 쌍따옴표를 추가함 # 수평 줄 생성 - · 주제가 바뀔 때 분위기를 전환하는 용도 글자 효과 태그 # 굵게 - 텍스트 · 보기에는 와 똑같지만, 의미적으로 강조됨 (Sementic element) - 텍스트 # 이탤릭체..

Tistory

[HTML] 목록 태그

순서가 없는 목록 - 각 항목 앞에 글머리표(불릿)가 붙여짐 항목1 항목2 ... # 하위 글머리표를 만들고 싶은 경우 상위 글머리표1 하위 글머리표1 하위 글머리표2 ... 상위 글머리표2 ... 순서가 있는 목록 - 각 항목 앞에 순서에 따른 글머리표가 붙여짐 (default : 숫자) 항목1 항목2 ... 제목과 설명으로 이뤄진 목록 - 설명은 들여쓰기되어 표시됨 제목1 설명1 설명2 ...

Tistory

[HTML] 표 태그

표 생성 태그 1행 1열 (제목 셀) 1행 2열 1행 3열 … 2행 1열 (제목 셀) 2행 2열 2행 3열 … # 셀 병합 태그 셀 내용 셀 내용 표 제목 태그 ① 위쪽에만 표시 가능한 표 제목 태그 : 표 제목 ... - 코드의 위치와 관계 없이, 제목이 표의 위쪽 중앙에 표시됨 ② 위쪽/아래쪽 모두 표시 가능한 표 제목 태그 : , 표 제목 - 태그가 태그의 위 or 아래에 입력된 것에 따라 표의 위 or 아래에 제목이 표시됨 - 좌측 정렬로 제목이 표시되며, 표가 자동으로 들여쓰기됨 표 구조 정의 태그 - 표의 구조를 제목(thead), 본문(tbody), 요약(tfoot) 부분으로 나눔 - 표의 이해를 돕기 위해 사용함 표 제목 ~ ~ ~ 셀별 스타일 지정 태그 셀 내용 - 스타일 속성 1) 너비..

Tistory

[HTML] 링크 태그

링크 태그 텍스트 - target 속성 : 페이지 표시 방법 1) target = "_self" (기본값) : 링크가 있는 페이지에서 그대로 열림 2) target = "_blank" : 새 탭/창에서 열림 3) target = "_top" : 전체 화면으로 열림 (iframe 태그로 외부 문서를 불러올 경우 전체 화면으로 표시) - title 속성 : 커서를 올렸을 때 제목이 표시되도록 함 # 이동 기능이 없는 링크 텍스트 외부 문서를 현재 문서에 삽입하는 태그 앵커 (anchor) 텍스트/이미지 텍스트/이미지 - 한 페이지 안에서, 특정 위치로 한 번에 이동하도록 하는 링크를 만듦 - '출발 위치' 링크를 누르면 '도착 위치'로 이동하게 됨 이미지맵 - 한 이미지 상에 영역을 지정하여 여러 개의 다른..

Tistory

[Java] 상수와 리터럴

상수 (Constant) - 변하지 않는 수 ex) 원주율 3.14, 1년 12개월 - 값을 한 번 저장하면 변경할 수 없는 저장공간 - 변하지 않는 값을 반복해서 사용할 때 상수를 이용함 상수의 선언과 초기화 final 자료형 상수명 = 값; - 선언 후에 단 한 번만 초기화할 수 있음 → 이미 초기화된 값은 다른 줄의 코드로 변경할 수 없음 - 값을 변경할 때에는 상수 초기화 부분의 값만 변경하면 됨 - 상수명 권장 사항 : 대문자로 입력하고, 여러 단어를 연결하여 이름을 지을 때는 '_' 활용 리터럴 (Literal) - 현실 세계에서 사용하는 '상수'와 같은 의미의 단어 ex) 10, 123, 'A' - 큰 숫자를 입력할 때 가독성 높이기 ex) 1000 == 1_000 (현실 세계에서 1,000..

Tistory

[Java] 형 변환

형 변환 (Type conversion) - 서로 다른 자료형 간에 연산 등의 수행을 위해 하나의 자료형으로 통일하는 것 자동 형 변환 (묵시적 형 변환, Explicit type conversion) - 메모리 공간 크기가 더 작은 자료형에서 더 큰 자료형으로 변환하는 경우 - 단순히 대입하면 자동으로 형 변환됨 - 형식 : (새_자료형) 새_변수 = 기존_변수; // 예시 // int a; // 형 변환할 변수 double b = a; 강제 형 변환 (명시적 형 변환, Implicit type conversion) - 메모리 공간 크기가 더 큰 자료형에서 더 작은 자료형으로 변환하는 경우 - 메모리 공간 크기가 같은 자료형 간에 변환하는 경우 - 형식 : (새_자료형) 기존_변수; // 예시 // d..

Tistory

[Java] 연산자

항과 연산자 ① 항 (Operand) : 연산에 사용되는 값 (리터럴, 변수 등) ② 연산자 (Operator) : 항을 이용하여 연산하는 기호 - 연산자 우선순위 · 가장 높은 순위 : () [] . · 가장 낮은 순위 : = 대입 연산자 - 변수에 다른 변수나 값을 대입하는 연산자 (=) - 형식 : L value = R value; · 대입 연산자의 연산 방향 : R value → L value 부호 연산자 - 변수의 부호를 +로 유지하거나, -로 바꾸는 연산자 - 형식 : 대입할_변수 = - 기존_변수; - 항이 하나인 단항 연산자 - 실제 값을 변경하려면 대입 연산자를 사용해야 함 산술 연산자 A + B A와 B를 더하기 A - B A에서 B를 빼기 A * B A와 B를 곱하기 A / B A에서..

Tistory

[Java] 제어문 : 조건문과 반복문 (if, switch, for, while)

조건문 if if (조건식) { 수행문; ... } else if (조건식) { 수행문; ... } else { 수행문; ... } 조건문 switch-case switch (변수) { case 값1 : // 콜론이어야 함에 유의 코드1; // 변수가 해당 값과 일치하면 코드 실행 break; // break를 작성하지 않으면 계속 다음 case로 넘어가게 됨 case 값2 : 코드2; break; case 값3 : 코드3; break; ... // 변수가 모든 case 값과 불일치하거나, 입력되지 않은 경우 [default : 코드n;] } - switch에 기입된 변수의 값이 case의 값과 일치하면, 그 아래의 코드를 실행함 - break 문이 없으면 계속 다음 case로 넘어가서 의도치 않은 결과..

Tistory

[Java] 참조 자료형 (Scanner, Random)

# 관련 포스팅 - 기본 자료형 : https://young0105.tistory.com/7 참조 자료형 (Reference data type) - 기본 자료형을 제외한 나머지 모든 자료형이 속함 (내장 클래스, 사용자 정의 타입, ...) - 값을 가지는 게 아니라, 객체의 메모리 주소 값(참조 값)을 가지는 자료형 - 사용하는 메모리 크기가 클래스에 따라 달라짐 → 메모리 크기를 직관적으로 알 수 없음 - 참조 자료형 명명 규칙 : 대문자로 시작할 것 - 같은 패키지에 존재하지 않는 .java 파일인 경우, import 예약어를 통해 불러오기 (String 제외) Scanner - 사용자가 키보드로 입력한 값을 받아들임 // Scanner 불러오기 import java.util.Scanner; pub..

Tistory

[Java] 객체와 클래스 1 : 객체 지향 패러다임과 멤버 변수

# 관련 포스팅 1. (현재 글) 객체 지향 패러다임과 멤버 변수 : https://young0105.tistory.com/13 2. 메서드 : https://young0105.tistory.com/28 3. 생성자 : https://young0105.tistory.com/29 클래스 (Class) - 객체를 정의하는 설계도 - 객체의 속성을 정의하고, 기능을 구현하여 만들어 둔 코드 상태 - 추상적이고 포괄적인 개념 ex) 동물 - 클래스 명명 규칙 : 대문자로 시작할 것 - public 클래스는 java 파일에 단 하나만 존재하며, public 클래스명과 java 파일명이 동일함 객체 (Object, Instance) - 'new' 키워드를 통해 실제 메모리에 로드된 것 (클래스를 메모리에 생성한 상..

Tistory

[HTML] 비주얼 스튜디오 코드 단축키

HTML 기본 구조 생성 - ! 입력 → [Tab] 또는 - html:5 입력 저장 - [Ctrl] + [S] 웹 문서 확인 - Open in browser : [Shift] + [Alt] + [B] - Live server : [Alt] + [L] → [Alt] + [O] 주석 처리 - [Ctrl] + [/] - 같은 이름의 태그 여러 개 생성 - 태그명*개수 ex) li*5 하위 태그로 자동 생성 - 상위태그>하위태그 입력 → [Enter] 코드 삭제 - [Shift] + [Delete] 코드 라인 복사 - [Shift] + [Alt] + [방향키 ↓] 코드 위치 이동 - [Alt] + [방향키 ↑↓] 코드 힌트 (자동 완성) - [Ctrl] + [Space] 실행 취소 - [Ctrl] + [Z] 실..

Tistory

[Java] 이클립스(Eclipse) 단축키

코드 실행 - [Ctrl] + [F11] 코드 줄 추가 - [Shift] + [Enter] 코드 삭제 - [Ctrl] + [D] 코드 힌트 (자동 완성) - [Ctrl] + [Space] 코드 라인 복사 - [Ctrl] + [Alt] + [방향키 ↓] 코드 줄맞춤 정렬 - [Ctrl] + [Shift] + [F] 주석 처리 - [Ctrl] + [/] - 한 줄 주석 : // - 여러 줄 주석 : /* * */ 파일 이름 변경 - [F2] get(), set() 메서드 자동 생성 - [Shift] + [Alt] + [S] → [Generate Getters and Setters] 불필요한 import 구문 정리 - [Ctrl] + [Shift] + [O] 클래스 계층 구조 확인 - 해당 클래스에 포커스를 ..

Tistory

[HTML] 개요

HTML (Hyper Text Markup Language) - 웹에서 자유롭게 오갈 수 있는 웹 문서를 만드는 언어 - 정보를 탐색할 때 순차적으로 검색하는 것이 아니라, 뛰어 넘으면서 필요한 것들만 찾음 - Markup : HTML 문서를 구조적으로 표현하는 것 → 제목, 본문 등의 영역을 명확히 구분해서 알아보기 쉬움 - 컴퓨터는 인간의 언어를 이해할 수 없기 때문에, 모든 것을 알려줘야 함 → HTML : 브라우저의 구성요소인 'Contents'를 컴퓨터에게 알려주기 위해 사용하는 언어 - 웹 브라우저 : 웹 문서를 보는 프로그램 - 웹 편집기 : 웹 문서를 작성하는 프로그램 - 웹 표준 : 장소/브라우저와 상관없이 쉽게 웹 사이트를 볼 수 있게 하는 표준 HTML 문서 기본 구조 ... 브라우저..

Tistory

[Java] 개요

Java 특징 - 프로그램이 안정적임 - JVM → 다양한 환경에서 사용할 수 있음 - 풍부한 기능이 제공됨 # 객체 지향 언어 (OOP, Object Oriented Programming) - 객체와 객체 간에 관계를 형성하고, 서로 상호 작용하게 코드를 설계해 나가는 것 - 객체 : 상태(속성/변수)와 기능(함수/메서드)를 갖는 구체적인 개체 - 유지보수 쉬움 - 재활용성 높음 - 기본 원리 : 목적에 따라 코드를 클래스화하면, 필요할 때마다 가져와서 사용할 수 있음 - 가장 큰 특징 : 정보 은닉, 상속, 다형성 등 JAVA 기본 구조 package 패키지명; public class 클래스명 { // 코드의 시작점 main 함수 public static void main(String[] args..

Tistory

[Java] 변수와 기본 자료형

데이터 (Data) - 사실을 나타내는 각각의 수치 - 컴퓨터는 0과 1로만 데이터를 저장함 데이터의 단위 ① bit (비트) - 컴퓨터가 표현하는 데이터의 최소 단위 - 2진수 1개의 값을 저장할 수 있는 크기 - 물리적 단위 ② byte (바이트) - 1 byte = 8 bit - 연산의 최소 단위 - 가장 앞의 1 bit는 부호(+, -)를 표현하는 부호 비트 - 논리적 단위 변수 (Variable) - 값을 저장할 수 있는 메모리 공간 - 계속 변할 수 있는 수 - 할당된 메모리를 가리키는 이름 변수의 선언과 초기화 - 변수의 선언 : 자료형 변수명; - 변수의 초기화 : 변수명 = 값; - 변수의 선언 및 초기화 : 자료형 변수명 = 값; 변수 명명 규칙 - 대소문자가 구분됨 - 길이에 제한이 ..

1 2 3